#include <iostream> #include <queue> using namespace std; int main(){ ios_base::sync_with_stdio(false); queue<int> kolejka; int powierzchnia, iloscSkoszen; cin >> powierzchnia >> iloscSkoszen; int* aktualnaWysokosc = new int[powierzchnia]; int* wzrosty = new int[powierzchnia]; for (int i = 0; i < powierzchnia; i++){ cin >> aktualnaWysokosc[i]; wzrosty[i] = aktualnaWysokosc[i]; } while (iloscSkoszen--){ int dzien, wysokosc; cin >> dzien >> wysokosc; int sum = 0; for (int i = 0; i < powierzchnia; i++){ if(aktualnaWysokosc[i] - wysokosc >= 0){ sum = sum + (aktualnaWysokosc[i] - wysokosc); aktualnaWysokosc[i] = wysokosc; } } cout<<sum<<endl; for (int i = 0; i < powierzchnia; i++){ aktualnaWysokosc[i] = aktualnaWysokosc[i] + wzrosty[i]; } } 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 | #include <iostream> #include <queue> using namespace std; int main(){ ios_base::sync_with_stdio(false); queue<int> kolejka; int powierzchnia, iloscSkoszen; cin >> powierzchnia >> iloscSkoszen; int* aktualnaWysokosc = new int[powierzchnia]; int* wzrosty = new int[powierzchnia]; for (int i = 0; i < powierzchnia; i++){ cin >> aktualnaWysokosc[i]; wzrosty[i] = aktualnaWysokosc[i]; } while (iloscSkoszen--){ int dzien, wysokosc; cin >> dzien >> wysokosc; int sum = 0; for (int i = 0; i < powierzchnia; i++){ if(aktualnaWysokosc[i] - wysokosc >= 0){ sum = sum + (aktualnaWysokosc[i] - wysokosc); aktualnaWysokosc[i] = wysokosc; } } cout<<sum<<endl; for (int i = 0; i < powierzchnia; i++){ aktualnaWysokosc[i] = aktualnaWysokosc[i] + wzrosty[i]; } } return 0; } |