#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; } |
English