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