#include <iostream>
#include <cstdio>
#include <stdlib.h>
#include <stdio.h>
#include <vector>
#include <utility>
using namespace std;
int main(){
long long area;
long long numberOfCuts;
scanf("%lld%lld", &area, &numberOfCuts);
vector <long long> paceOfGrowth;
vector <long long> currentHeights;
for (int i = 0; i < area; ++i) {
long long n = 0;
scanf("%lld", &n);
paceOfGrowth.push_back(n);
currentHeights.push_back(0);
}
vector< pair<long long, long long> > cuts;
for (int i = 0; i < numberOfCuts; i++) {
long long d;
long long b;
scanf("%lld", &d);
scanf("%lld", &b);
cuts.push_back(make_pair(d, b));
}
long long previousDay = 0;
long long day = 0;
long long cutToHeight = 0;
for (long long i = 0; i < numberOfCuts; ++i) {
day = cuts[i].first - previousDay;
previousDay = cuts[i].first;
cutToHeight = cuts[i].second;
long long sumaSiana = 0;
for(long long j = 0; j < area; ++j){
currentHeights[j] = currentHeights[j] + (paceOfGrowth[j] * day);
if(currentHeights[j] - cutToHeight >= 0 ){
sumaSiana += currentHeights[j] - cutToHeight;
currentHeights[j] = cutToHeight;
}
}
printf("%lld\n", sumaSiana);
}
}
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 | #include <iostream> #include <cstdio> #include <stdlib.h> #include <stdio.h> #include <vector> #include <utility> using namespace std; int main(){ long long area; long long numberOfCuts; scanf("%lld%lld", &area, &numberOfCuts); vector <long long> paceOfGrowth; vector <long long> currentHeights; for (int i = 0; i < area; ++i) { long long n = 0; scanf("%lld", &n); paceOfGrowth.push_back(n); currentHeights.push_back(0); } vector< pair<long long, long long> > cuts; for (int i = 0; i < numberOfCuts; i++) { long long d; long long b; scanf("%lld", &d); scanf("%lld", &b); cuts.push_back(make_pair(d, b)); } long long previousDay = 0; long long day = 0; long long cutToHeight = 0; for (long long i = 0; i < numberOfCuts; ++i) { day = cuts[i].first - previousDay; previousDay = cuts[i].first; cutToHeight = cuts[i].second; long long sumaSiana = 0; for(long long j = 0; j < area; ++j){ currentHeights[j] = currentHeights[j] + (paceOfGrowth[j] * day); if(currentHeights[j] - cutToHeight >= 0 ){ sumaSiana += currentHeights[j] - cutToHeight; currentHeights[j] = cutToHeight; } } printf("%lld\n", sumaSiana); } } |
English