#include <iostream>
using namespace std;
int wspol[500000];
long long akt_wzr[500000];
long long wieksza(long long a)
{
if(a>0)
{
return a;
}
else
{
return 0;
}
}
long long mniejsza(long long a, long long b)
{
if(a>b)
{
return b;
}
else
{
return a;
}
}
int main()
{
int n, m;
cin>>n>>m;
for(int i = 0 ; i < n ; i++)
{
cin>>wspol[i];
}
int d1, d2;
long long b;
cin>>d1;
for(int j=0 ; j<n ; j++)
{
akt_wzr[j]=wspol[j]*d1;
}
cin>>b;
long long suma=0;
for(int j=0 ; j<n ; j++)
{
suma+=wieksza(akt_wzr[j]-b);
akt_wzr[j]=mniejsza(akt_wzr[j], b);
}
cout<<suma<<endl;
for(int i=1 ; i<m-1 ; i++)
{
cin>>d2;
for(int j=0 ; j<n ; j++)
{
akt_wzr[j]+=wspol[j]*(d2-d1);
}
d1=d2;
cin>>b;
suma=0;
for(int j=0 ; j<n ; j++)
{
suma+=wieksza(akt_wzr[j]-b);
akt_wzr[j]=mniejsza(akt_wzr[j], b);
}
cout<<suma<<endl;
}
cin>>d2;
for(int j=0 ; j<n ; j++)
{
akt_wzr[j]+=wspol[j]*(d2-d1);
}
cin>>b;
suma=0;
for(int i=0 ; i<n ; i++)
{
suma+=wieksza(akt_wzr[i]-b);
}
cout<<suma<<endl;
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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | #include <iostream> using namespace std; int wspol[500000]; long long akt_wzr[500000]; long long wieksza(long long a) { if(a>0) { return a; } else { return 0; } } long long mniejsza(long long a, long long b) { if(a>b) { return b; } else { return a; } } int main() { int n, m; cin>>n>>m; for(int i = 0 ; i < n ; i++) { cin>>wspol[i]; } int d1, d2; long long b; cin>>d1; for(int j=0 ; j<n ; j++) { akt_wzr[j]=wspol[j]*d1; } cin>>b; long long suma=0; for(int j=0 ; j<n ; j++) { suma+=wieksza(akt_wzr[j]-b); akt_wzr[j]=mniejsza(akt_wzr[j], b); } cout<<suma<<endl; for(int i=1 ; i<m-1 ; i++) { cin>>d2; for(int j=0 ; j<n ; j++) { akt_wzr[j]+=wspol[j]*(d2-d1); } d1=d2; cin>>b; suma=0; for(int j=0 ; j<n ; j++) { suma+=wieksza(akt_wzr[j]-b); akt_wzr[j]=mniejsza(akt_wzr[j], b); } cout<<suma<<endl; } cin>>d2; for(int j=0 ; j<n ; j++) { akt_wzr[j]+=wspol[j]*(d2-d1); } cin>>b; suma=0; for(int i=0 ; i<n ; i++) { suma+=wieksza(akt_wzr[i]-b); } cout<<suma<<endl; return 0; } |
English