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
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

void printArray(vector<int>& arr);

//SIANO

int main() {

	ios_base::sync_with_stdio(0);

	int fieldSize = 0,
	    grassCut = 0,
	    grassType = 0;

	cin >> fieldSize >> grassCut;

	vector<int> grassTypesArr;
	vector<long long> actualFieldArr;
	for (int i = 0; i < fieldSize; ++i) {
		cin >> grassType;
		grassTypesArr.push_back(grassType);
		actualFieldArr.push_back(grassType);
	}

	long long day,
	     cutHeight,
	     dayResult,
	     cutElemHeight;
	for (int i = 0; i < grassCut; ++i) {

		cin >> day >> cutHeight;
		dayResult = 0;
		for (int j = 0; j < actualFieldArr.size(); ++j) {
			cutElemHeight = max(0ll, actualFieldArr[j] - cutHeight);
			dayResult += cutElemHeight;
			actualFieldArr[j] += grassTypesArr[j] - cutElemHeight;
		}

		cout << dayResult << endl;
	}

	//cout << result;
	// printArray(grassTypesArr);

	return 0;
}

void printArray(vector<int>& arr) {
	cout << endl;
	for (int i = 0; i < arr.size(); ++i) {
		cout << arr[i] << ", ";
	}
	cout << endl;
}