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