#include <iostream> using namespace std; int main() { int n, m; cin >> n >> m; int tempo[n]; int i, j, k, l; long long suma; long long delta; long long poziom[2][m]; long long wysokosc[n]; //tymczasowa, odswiezana co przejscie petli (po wydrukowaniu) for (k = 0; k < n; k++) { cin >> tempo[k]; wysokosc[k]=0; } for (k = 1; k <= m; k++) { cin >> poziom[0][k]; //dzien cin >> poziom[1][k]; //poziom } poziom[0][0]=0; l = 1; for (l=1;l<=m;l++){ delta = 0; suma = 0; for (j = 0; j < n; j++) { //cout << "k, j, l " << k << " " << j << " " << l << endl; //cout << "Czasowa wysokosc po dniach " << k+1 << " " << wysokosc[j] << endl; //cout << "poziom po dniach " << k+1 << " " << poziom[1][l] << endl; //cout << "wysokosc[j] - poziom[1][k] po dniach " << k+1 << " " << wysokosc[j] - poziom[1][l] << endl; //cout << "Wysokosc pierwszego slupka " << wysokosc[j] << endl; wysokosc[j]=wysokosc[j]+tempo[j]*(poziom[0][l]-poziom[0][l-1]); if (wysokosc[j] - poziom[1][l]>0) delta = wysokosc[j] - poziom[1][l]; //cout << "Czasowa delta " << j+1 << " " << delta << endl; suma = suma + delta; wysokosc[j] = poziom[1][l]; //cout << "Czasowa suma " << suma << endl; } cout << suma << endl; } //cout << "suma teraz " << suma << endl; 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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | #include <iostream> using namespace std; int main() { int n, m; cin >> n >> m; int tempo[n]; int i, j, k, l; long long suma; long long delta; long long poziom[2][m]; long long wysokosc[n]; //tymczasowa, odswiezana co przejscie petli (po wydrukowaniu) for (k = 0; k < n; k++) { cin >> tempo[k]; wysokosc[k]=0; } for (k = 1; k <= m; k++) { cin >> poziom[0][k]; //dzien cin >> poziom[1][k]; //poziom } poziom[0][0]=0; l = 1; for (l=1;l<=m;l++){ delta = 0; suma = 0; for (j = 0; j < n; j++) { //cout << "k, j, l " << k << " " << j << " " << l << endl; //cout << "Czasowa wysokosc po dniach " << k+1 << " " << wysokosc[j] << endl; //cout << "poziom po dniach " << k+1 << " " << poziom[1][l] << endl; //cout << "wysokosc[j] - poziom[1][k] po dniach " << k+1 << " " << wysokosc[j] - poziom[1][l] << endl; //cout << "Wysokosc pierwszego slupka " << wysokosc[j] << endl; wysokosc[j]=wysokosc[j]+tempo[j]*(poziom[0][l]-poziom[0][l-1]); if (wysokosc[j] - poziom[1][l]>0) delta = wysokosc[j] - poziom[1][l]; //cout << "Czasowa delta " << j+1 << " " << delta << endl; suma = suma + delta; wysokosc[j] = poziom[1][l]; //cout << "Czasowa suma " << suma << endl; } cout << suma << endl; } //cout << "suma teraz " << suma << endl; return 0; } |