#include <iostream> using namespace std; int main() { unsigned long long int powpola = 0, ilekoszen = 0, poprzednie = 0; cin >> powpola >> ilekoszen; unsigned long long int pole[powpola], wzrost[powpola]; for (int i=0;i< powpola;i++) { pole[i] = 0; cin >> wzrost[i]; } for (unsigned long long int i = 0;i<ilekoszen;i++) { unsigned long long int suma = 0; unsigned long long int dzien = 0, kosi = 0; cin >> dzien >> kosi; unsigned long long int skoszenia = dzien - poprzednie; for (unsigned long long int j = 0;j< powpola;j++) { unsigned int wysokosc = pole[j] + (wzrost[j] * skoszenia); if (wysokosc > kosi) { suma = suma + (wysokosc - kosi); wysokosc = kosi; } pole[j] = wysokosc; } poprzednie = dzien; cout << suma << "\n"; } 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 | #include <iostream> using namespace std; int main() { unsigned long long int powpola = 0, ilekoszen = 0, poprzednie = 0; cin >> powpola >> ilekoszen; unsigned long long int pole[powpola], wzrost[powpola]; for (int i=0;i< powpola;i++) { pole[i] = 0; cin >> wzrost[i]; } for (unsigned long long int i = 0;i<ilekoszen;i++) { unsigned long long int suma = 0; unsigned long long int dzien = 0, kosi = 0; cin >> dzien >> kosi; unsigned long long int skoszenia = dzien - poprzednie; for (unsigned long long int j = 0;j< powpola;j++) { unsigned int wysokosc = pole[j] + (wzrost[j] * skoszenia); if (wysokosc > kosi) { suma = suma + (wysokosc - kosi); wysokosc = kosi; } pole[j] = wysokosc; } poprzednie = dzien; cout << suma << "\n"; } return 0; } |