#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); } } |
English