Submission #68214

#TimeUsernameProblemLanguageResultExecution timeMemory
68214almasalmasFoehn Phenomena (JOI17_foehn_phenomena)C++17
100 / 100
797 ms7628 KiB
#include <bits/stdc++.h> #define int long long using namespace std; int a[200001]; int d[200001]; main () { int n, q, s, t; cin >> n >> q >> s >> t; for (int i = 0;i <= n;i ++) cin >> a[i]; int cur = 0; for (int i = 1;i <= n;i ++) { int len = abs (a[i] - a[i - 1]); if (a[i] > a[i - 1]) { cur -= len * s; } else cur += len * t; } // cout << cur << endl; while (q --) { int l, r, x; cin >> l >> r >> x; if (r != n) { int X = a[r]; a[r] += d[r]; if (a[r] < a[r + 1]) { cur += s * (a[r + 1] - a[r]); } else cur -= t * (a[r] - a[r + 1]); d[r] += x; a[r] += x; if (a[r] < a[r + 1]) { cur -= s * (a[r + 1] - a[r]); } else cur += t * (a[r] - a[r + 1]); a[r] = X; } // cout << cur << endl; int X = a[l - 1]; a[l - 1] += d[l - 1]; if (a[l - 1] < a[l]) { cur += s * (a[l] - a[l - 1]); } else cur -= t * (a[l - 1] - a[l]); d[l - 1] -= x; a[l - 1] -= x; if (a[l - 1] < a[l]) { cur -= s * (a[l] - a[l - 1]); } else cur += t * (a[l - 1] - a[l]); a[l - 1] = X; cout << cur << endl; } return 0; }

Compilation message (stderr)

foehn_phenomena.cpp:10:8: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
  main () {
        ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...