#include<cstdio> #include<algorithm> #include<vector> using namespace std; int tab[5000000],tab1[5000000]={0}; int d[500001]={0},b[500000]; int main() { int n,m; scanf("%d%d",&n,&m); for(int a=0;a<n;a++) { scanf("%d",&tab[a]); } for(int a=0;a<m;a++) { scanf("%d%d",&d[a+1],&b[a]); } for(int c=0;c<m;c++) { long long wynik=0; for(int a=0;a<n;a++) { tab1[a]+=(d[c+1]-d[c])*tab[a]; if(tab1[a]>b[c]) { wynik+=tab1[a]-b[c]; tab1[a]=b[c]; } } printf("%lld\n",wynik); } }
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 29 30 31 32 33 34 35 36 | #include<cstdio> #include<algorithm> #include<vector> using namespace std; int tab[5000000],tab1[5000000]={0}; int d[500001]={0},b[500000]; int main() { int n,m; scanf("%d%d",&n,&m); for(int a=0;a<n;a++) { scanf("%d",&tab[a]); } for(int a=0;a<m;a++) { scanf("%d%d",&d[a+1],&b[a]); } for(int c=0;c<m;c++) { long long wynik=0; for(int a=0;a<n;a++) { tab1[a]+=(d[c+1]-d[c])*tab[a]; if(tab1[a]>b[c]) { wynik+=tab1[a]-b[c]; tab1[a]=b[c]; } } printf("%lld\n",wynik); } } |