#include <iostream>
#include <cstdio>
using namespace std;
int wzrost[500001];
long long stan[500001];
int main()
{
int n,m;
long long di,bi,poprzednie_koszenie=0,dni_wzrostu,suma=0;
scanf("%d",&n);
scanf("%d",&m);
for(int i=1; i<=n;i++)
{
scanf("%d",&wzrost[i]);
}
for(int i=1; i<=m;i++)
{
scanf("%lld",&di);
scanf("%lld",&bi);
dni_wzrostu=di-poprzednie_koszenie;
for(int j=1;j<=n;j++)
{
stan[j]=stan[j]+dni_wzrostu*wzrost[j];
if(stan[j]>bi)
{
suma+=(stan[j]-bi);
stan[j]=bi;
}
}
poprzednie_koszenie=di;
printf("%lld\n",suma);
suma=0;
}
return 0;
}
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 37 38 | #include <iostream> #include <cstdio> using namespace std; int wzrost[500001]; long long stan[500001]; int main() { int n,m; long long di,bi,poprzednie_koszenie=0,dni_wzrostu,suma=0; scanf("%d",&n); scanf("%d",&m); for(int i=1; i<=n;i++) { scanf("%d",&wzrost[i]); } for(int i=1; i<=m;i++) { scanf("%lld",&di); scanf("%lld",&bi); dni_wzrostu=di-poprzednie_koszenie; for(int j=1;j<=n;j++) { stan[j]=stan[j]+dni_wzrostu*wzrost[j]; if(stan[j]>bi) { suma+=(stan[j]-bi); stan[j]=bi; } } poprzednie_koszenie=di; printf("%lld\n",suma); suma=0; } return 0; } |
English