#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int n,m,a[500005];
long long d,b,tr[500005]={0},data=0,sc=0,wys;
int main(){
scanf("%d%d",&n,&m);
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
while(m--){
sc=0;
scanf("%lld%lld",&d,&b);
for(int i=0;i<n;i++){
wys=(d-data)*a[i]+tr[i];
if(wys>b){
sc+=wys-b;
tr[i]=b;
}else tr[i]+=a[i];
}
data=d;
printf("%lld\n",sc);
}
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | #include<iostream> #include<cstdio> #include<algorithm> using namespace std; int n,m,a[500005]; long long d,b,tr[500005]={0},data=0,sc=0,wys; int main(){ scanf("%d%d",&n,&m); for(int i=0;i<n;i++){ scanf("%d",&a[i]); } while(m--){ sc=0; scanf("%lld%lld",&d,&b); for(int i=0;i<n;i++){ wys=(d-data)*a[i]+tr[i]; if(wys>b){ sc+=wys-b; tr[i]=b; }else tr[i]+=a[i]; } data=d; printf("%lld\n",sc); } } |
English