#include <iostream> #include <vector> using namespace std; struct kos{ unsigned long long int d; unsigned long long int b; }; int main() { int n,m; unsigned long long int masa=0; cin>>n; cin>>m; vector<int> trawa(n); vector<unsigned long long int> wysokosc(n); vector<kos> koszenie(m+1); koszenie[0].d=0; koszenie[0].b=0; for(int i=0;i<n;i++){ wysokosc[i]=0; cin>>trawa[i]; } for(int i=1;i<=m;i++){ cin>>koszenie[i].d; cin>>koszenie[i].b; } int t; for(int i=1;i<=m;i++){ masa=0; t=koszenie[i].d-koszenie[i-1].d; for(int j=0; j<n ;j++){ wysokosc[j]+=t*trawa[j]; if(wysokosc[j]>koszenie[i].b){ masa+=wysokosc[j]-koszenie[i].b; wysokosc[j]=koszenie[i].b; } } cout<<masa<<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 | #include <iostream> #include <vector> using namespace std; struct kos{ unsigned long long int d; unsigned long long int b; }; int main() { int n,m; unsigned long long int masa=0; cin>>n; cin>>m; vector<int> trawa(n); vector<unsigned long long int> wysokosc(n); vector<kos> koszenie(m+1); koszenie[0].d=0; koszenie[0].b=0; for(int i=0;i<n;i++){ wysokosc[i]=0; cin>>trawa[i]; } for(int i=1;i<=m;i++){ cin>>koszenie[i].d; cin>>koszenie[i].b; } int t; for(int i=1;i<=m;i++){ masa=0; t=koszenie[i].d-koszenie[i-1].d; for(int j=0; j<n ;j++){ wysokosc[j]+=t*trawa[j]; if(wysokosc[j]>koszenie[i].b){ masa+=wysokosc[j]-koszenie[i].b; wysokosc[j]=koszenie[i].b; } } cout<<masa<<endl; } return 0; } |