#include<iostream>
#include<vector>
int main() {
using namespace std;
ios_base::sync_with_stdio(0);
long powierzchnia_pola_w_arach_i_liczba_traw, liczba_skoszen_trawy;
cin >> powierzchnia_pola_w_arach_i_liczba_traw >> liczba_skoszen_trawy;
vector<long long>aktualna_wysokosc_traw(powierzchnia_pola_w_arach_i_liczba_traw);
for (int i = 0; i < powierzchnia_pola_w_arach_i_liczba_traw; i++)
aktualna_wysokosc_traw.push_back(0);
long * predkosc_wzrostu_trawy = new long[powierzchnia_pola_w_arach_i_liczba_traw];
long long przyciecie_trawy_do;
long long zebrane_siano = 0L;
long long w_jakim_dniu_koszenie, odjecie = 0;
long long roznica;
for (long i = 0; i < powierzchnia_pola_w_arach_i_liczba_traw; i++)
cin >> predkosc_wzrostu_trawy[i];
for (long i = 0; i < liczba_skoszen_trawy; i++, zebrane_siano = 0) {
cin >> w_jakim_dniu_koszenie >> przyciecie_trawy_do;
roznica = w_jakim_dniu_koszenie-odjecie;
for (long i = 0; i < powierzchnia_pola_w_arach_i_liczba_traw; i++) {
aktualna_wysokosc_traw[i] += (predkosc_wzrostu_trawy[i]*roznica);
if (aktualna_wysokosc_traw[i] > przyciecie_trawy_do) {
zebrane_siano += (aktualna_wysokosc_traw[i]-przyciecie_trawy_do);
aktualna_wysokosc_traw[i] = przyciecie_trawy_do;
}
}
cout << zebrane_siano << endl;
odjecie = w_jakim_dniu_koszenie;
}
}
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 | #include<iostream> #include<vector> int main() { using namespace std; ios_base::sync_with_stdio(0); long powierzchnia_pola_w_arach_i_liczba_traw, liczba_skoszen_trawy; cin >> powierzchnia_pola_w_arach_i_liczba_traw >> liczba_skoszen_trawy; vector<long long>aktualna_wysokosc_traw(powierzchnia_pola_w_arach_i_liczba_traw); for (int i = 0; i < powierzchnia_pola_w_arach_i_liczba_traw; i++) aktualna_wysokosc_traw.push_back(0); long * predkosc_wzrostu_trawy = new long[powierzchnia_pola_w_arach_i_liczba_traw]; long long przyciecie_trawy_do; long long zebrane_siano = 0L; long long w_jakim_dniu_koszenie, odjecie = 0; long long roznica; for (long i = 0; i < powierzchnia_pola_w_arach_i_liczba_traw; i++) cin >> predkosc_wzrostu_trawy[i]; for (long i = 0; i < liczba_skoszen_trawy; i++, zebrane_siano = 0) { cin >> w_jakim_dniu_koszenie >> przyciecie_trawy_do; roznica = w_jakim_dniu_koszenie-odjecie; for (long i = 0; i < powierzchnia_pola_w_arach_i_liczba_traw; i++) { aktualna_wysokosc_traw[i] += (predkosc_wzrostu_trawy[i]*roznica); if (aktualna_wysokosc_traw[i] > przyciecie_trawy_do) { zebrane_siano += (aktualna_wysokosc_traw[i]-przyciecie_trawy_do); aktualna_wysokosc_traw[i] = przyciecie_trawy_do; } } cout << zebrane_siano << endl; odjecie = w_jakim_dniu_koszenie; } } |
English