#include <iostream>
using namespace std;
int main(){
int stan_trawy[500000];
int dane_trawy[500000];
int ilosc_pol;
int liczba_koszen;
int dzien;
int wysokosc;
int i,j;
int suma_koszen=0;
int poprzedni_dzien=1;
cin >> ilosc_pol >> liczba_koszen;
for (i=0; i<ilosc_pol; i++)
{
cin >> dane_trawy[i];
stan_trawy[i]=dane_trawy[i];
}
for (i=0; i<liczba_koszen; i++)
{
suma_koszen=0;
cin >> dzien >> wysokosc;
for (j=0; j<ilosc_pol; j++)
{
stan_trawy[j]=stan_trawy[j]+(dzien-poprzedni_dzien)*dane_trawy[j];
if (stan_trawy[j]>wysokosc)
{
suma_koszen=suma_koszen+stan_trawy[j]-wysokosc;
stan_trawy[j]=wysokosc;
}
}
cout <<suma_koszen<<endl;
poprzedni_dzien=dzien;
}
cin.ignore ();
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> using namespace std; int main(){ int stan_trawy[500000]; int dane_trawy[500000]; int ilosc_pol; int liczba_koszen; int dzien; int wysokosc; int i,j; int suma_koszen=0; int poprzedni_dzien=1; cin >> ilosc_pol >> liczba_koszen; for (i=0; i<ilosc_pol; i++) { cin >> dane_trawy[i]; stan_trawy[i]=dane_trawy[i]; } for (i=0; i<liczba_koszen; i++) { suma_koszen=0; cin >> dzien >> wysokosc; for (j=0; j<ilosc_pol; j++) { stan_trawy[j]=stan_trawy[j]+(dzien-poprzedni_dzien)*dane_trawy[j]; if (stan_trawy[j]>wysokosc) { suma_koszen=suma_koszen+stan_trawy[j]-wysokosc; stan_trawy[j]=wysokosc; } } cout <<suma_koszen<<endl; poprzedni_dzien=dzien; } cin.ignore (); return 0; } |
English