Submission #1277399

#TimeUsernameProblemLanguageResultExecution timeMemory
1277399Bui_Quoc_CuongSnowball (JOI21_ho_t2)C++20
33 / 100
2591 ms1092 KiB
#include <bits/stdc++.h> using namespace std; #define all(ko) ko.begin(), ko.end() #define FOR(i, a, b) for (int i = a; i <= (int)b; i++) #define FORD(i, a, b) for (int i = a; i >= (int)b; i--) #define ll long long const int MAX = 2e5 + 5; int n, q; ll a[MAX]; namespace sub1 { ll curL[MAX], curR[MAX], ans[MAX], curP[MAX]; void solve () { FOR(i, 1, n) curL[i] = curR[i] = curP[i] = a[i]; while (q--) { ll w; cin >> w; if (w < 0) { FORD(i, n, 1) { if (i != 1) { ll newP = curP[i] + w; if (newP < curL[i]) { ll newcurL = max(curR[i - 1], newP); ans[i]+= max(1LL * 0, curL[i] - newcurL); curL[i] = min(curL[i], newcurL); } curP[i] = newP; } else { ll newP = curP[i] + w; if (newP < curL[i]) { ans[i]+= curL[i] - newP; curL[i] = newP; } curP[i] = newP; } } } else { FOR(i, 1, n) { if (i != n) { ll newP = curP[i] + w; if (newP > curR[i]) { ll newcurR = min(curL[i + 1], newP); ans[i]+= max(1LL * 0, newcurR - curR[i]); curR[i] = max(curR[i], newcurR); } curP[i] = newP; } else { ll newP = curP[i] + w; if (newP > curR[i]) { ans[i]+= newP - curR[i]; curR[i] = newP; } curP[i] = newP; } } } } FOR(i, 1, n) { cout << ans[i] << "\n"; } } } void Solve() { cin >> n >> q; FOR(i, 1, n) cin >> a[i]; return sub1 :: solve(); } signed main() { ios_base::sync_with_stdio(0); cin.tie(0); #define kieuoanh "kieuoanh" if (fopen(kieuoanh".inp", "r")) { freopen(kieuoanh".inp", "r", stdin); freopen(kieuoanh".out", "w", stdout); } int TEST = 1; // cin >> TEST; while (TEST--) Solve(); cerr << "\nTime elapsed: " << 0.001 * clock() << "s\n"; return 0; }

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:80:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   80 |         freopen(kieuoanh".inp", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
Main.cpp:81:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   81 |         freopen(kieuoanh".out", "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...