#include <iostream> #include <vector> int main(int argc, char* argv[]) { unsigned n, m; std::cin >> n >> m; std::vector<unsigned> a(n); for (unsigned i = 0; i < n; ++i) { std::cin >> a[i]; } unsigned long long day = 0; std::vector<unsigned long long> field(n, 0); for (unsigned i = 0; i < m; ++i) { unsigned long long d, b; std::cin >> d >> b; unsigned long long simDays = d - day; unsigned long long cut = 0; for (unsigned j = 0; j < n; ++j) { field[j] += simDays * a[j]; if (field[j] > b) { cut += field[j] - b; field[j] = b; } } std::cout << cut << std::endl; day = d; } 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 | #include <iostream> #include <vector> int main(int argc, char* argv[]) { unsigned n, m; std::cin >> n >> m; std::vector<unsigned> a(n); for (unsigned i = 0; i < n; ++i) { std::cin >> a[i]; } unsigned long long day = 0; std::vector<unsigned long long> field(n, 0); for (unsigned i = 0; i < m; ++i) { unsigned long long d, b; std::cin >> d >> b; unsigned long long simDays = d - day; unsigned long long cut = 0; for (unsigned j = 0; j < n; ++j) { field[j] += simDays * a[j]; if (field[j] > b) { cut += field[j] - b; field[j] = b; } } std::cout << cut << std::endl; day = d; } return 0; } |