#include <cstdio> int main(){ long long ilosc_pol; int liczba_dni; int szybkosc[500000]; long long pola[500000]; long long dzien = 0; long long dzien_new; long long wysokosc; int i; long long suma; long long licz_pol = 0; scanf("%lld", &ilosc_pol); scanf("%d", &liczba_dni); while(licz_pol < ilosc_pol){ scanf("%d", &szybkosc[licz_pol]); licz_pol++; } for(i = 0; i < liczba_dni; i++){ suma = 0; scanf("%lld", &dzien_new); scanf("%lld", &wysokosc); licz_pol = 0; while(licz_pol < ilosc_pol){ pola[licz_pol] += ((dzien_new-dzien)*szybkosc[licz_pol]); if(pola[licz_pol] >= wysokosc) { suma += (pola[licz_pol]-wysokosc); pola[licz_pol] = wysokosc; } licz_pol++; } dzien = dzien_new; printf("%lld\n", suma); } }
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 39 40 41 42 43 44 45 | #include <cstdio> int main(){ long long ilosc_pol; int liczba_dni; int szybkosc[500000]; long long pola[500000]; long long dzien = 0; long long dzien_new; long long wysokosc; int i; long long suma; long long licz_pol = 0; scanf("%lld", &ilosc_pol); scanf("%d", &liczba_dni); while(licz_pol < ilosc_pol){ scanf("%d", &szybkosc[licz_pol]); licz_pol++; } for(i = 0; i < liczba_dni; i++){ suma = 0; scanf("%lld", &dzien_new); scanf("%lld", &wysokosc); licz_pol = 0; while(licz_pol < ilosc_pol){ pola[licz_pol] += ((dzien_new-dzien)*szybkosc[licz_pol]); if(pola[licz_pol] >= wysokosc) { suma += (pola[licz_pol]-wysokosc); pola[licz_pol] = wysokosc; } licz_pol++; } dzien = dzien_new; printf("%lld\n", suma); } } |