#include <iostream> #include <cstdio> using namespace std; int main() { int liczba_traw, liczba_skoszen, i; scanf("%d %d", &liczba_traw, &liczba_skoszen); int wzrost_trawy[liczba_traw], wysokosc_trawy[liczba_traw]; i = 0; while (i < liczba_traw){ scanf("%d", &wzrost_trawy[i]); wysokosc_trawy[i] = wzrost_trawy[i]; i++; } unsigned long long dzien, poprzedni_dzien = 1, dlugosc_trawy; i = 0; while (i < liczba_skoszen){ unsigned long long waga_siana = 0; scanf("%llu %llu", &dzien, &dlugosc_trawy); for (int j = 0; j < liczba_traw; j++){ wysokosc_trawy[j] += (dzien-poprzedni_dzien) * wzrost_trawy[j]; if (wysokosc_trawy[j] > dlugosc_trawy){ waga_siana += wysokosc_trawy[j] - dlugosc_trawy; wysokosc_trawy[j] = dlugosc_trawy; } } printf("%llu\n", waga_siana); poprzedni_dzien = dzien; 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 34 35 | #include <iostream> #include <cstdio> using namespace std; int main() { int liczba_traw, liczba_skoszen, i; scanf("%d %d", &liczba_traw, &liczba_skoszen); int wzrost_trawy[liczba_traw], wysokosc_trawy[liczba_traw]; i = 0; while (i < liczba_traw){ scanf("%d", &wzrost_trawy[i]); wysokosc_trawy[i] = wzrost_trawy[i]; i++; } unsigned long long dzien, poprzedni_dzien = 1, dlugosc_trawy; i = 0; while (i < liczba_skoszen){ unsigned long long waga_siana = 0; scanf("%llu %llu", &dzien, &dlugosc_trawy); for (int j = 0; j < liczba_traw; j++){ wysokosc_trawy[j] += (dzien-poprzedni_dzien) * wzrost_trawy[j]; if (wysokosc_trawy[j] > dlugosc_trawy){ waga_siana += wysokosc_trawy[j] - dlugosc_trawy; wysokosc_trawy[j] = dlugosc_trawy; } } printf("%llu\n", waga_siana); poprzedni_dzien = dzien; i++; } return 0; } |