#include<bits/stdc++.h> using namespace std; const int MN = 500007; long long akt, t[MN], d, b, n, m, pd[MN], r[MN]; int main() { scanf("%lld%lld", &n, &m); for(int i = 0; i < n; i++) scanf("%lld", &t[i]); sort(t, t+n); for(int i = 0; i < n; i++) { long long w = 0; scanf("%lld%lld", &d, &b); for(int j = 0; j < n; j++){ akt = r[j]+t[j]*(d-pd[j]); pd[j] = d; if(akt<b) r[j] = akt; else{ r[j] = b; w += akt - b;} } printf("%lld\n", w); } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include<bits/stdc++.h> using namespace std; const int MN = 500007; long long akt, t[MN], d, b, n, m, pd[MN], r[MN]; int main() { scanf("%lld%lld", &n, &m); for(int i = 0; i < n; i++) scanf("%lld", &t[i]); sort(t, t+n); for(int i = 0; i < n; i++) { long long w = 0; scanf("%lld%lld", &d, &b); for(int j = 0; j < n; j++){ akt = r[j]+t[j]*(d-pd[j]); pd[j] = d; if(akt<b) r[j] = akt; else{ r[j] = b; w += akt - b;} } printf("%lld\n", w); } } |