#include<stdio.h> int main() { long n; long m; scanf("%ld", &n); scanf("%ld", &m); long wzrost[n + 1]; long long grass[n+1]; long i; for(i = 1; i <=n; i++) grass[i] = 0; for(i = 1; i <=n; i++) scanf("%ld", &(wzrost[i])); long day = 0; for(i = 0; i < m; i++) { long long crops = 0; long newday; scanf("%ld", &newday); long long mowersetting; scanf("%lld", &mowersetting); long diffday = newday - day; long j; for(j = 1; j <=n; j++) grass[j] += (diffday * wzrost[j]); for(j = 1; j <=n; j++) { long long growth = grass[j] - mowersetting; if(growth > 0) { crops += growth; grass[j] = mowersetting; } } printf("%lld\n", crops); day = newday; } 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 | #include<stdio.h> int main() { long n; long m; scanf("%ld", &n); scanf("%ld", &m); long wzrost[n + 1]; long long grass[n+1]; long i; for(i = 1; i <=n; i++) grass[i] = 0; for(i = 1; i <=n; i++) scanf("%ld", &(wzrost[i])); long day = 0; for(i = 0; i < m; i++) { long long crops = 0; long newday; scanf("%ld", &newday); long long mowersetting; scanf("%lld", &mowersetting); long diffday = newday - day; long j; for(j = 1; j <=n; j++) grass[j] += (diffday * wzrost[j]); for(j = 1; j <=n; j++) { long long growth = grass[j] - mowersetting; if(growth > 0) { crops += growth; grass[j] = mowersetting; } } printf("%lld\n", crops); day = newday; } return 0; } |