Submission #228751

#TimeUsernameProblemLanguageResultExecution timeMemory
228751RakhmandFire (JOI20_ho_t5)C++14
0 / 100
1093 ms13176 KiB
// I feel still alive. // Created by existence on 18/04/2003. // Copyright © 2020 Rakhman. All rights reserved. #include <vector> #include <map> #include <set> #include <deque> #include <algorithm> #include <iostream> #include <cmath> #include <iterator> #define ios ios_base::sync_with_stdio(0), cout.tie(0), cin.tie(0); #define S second #define F first #define nl '\n' const long long mxn = 1e6 + 10; const long long mod = 1e9 + 7; const long long inf = 1e18; typedef long long llong; using namespace std; void istxt(bool yes){ if(yes == 1){ freopen("balancing.in", "r", stdin); freopen("balancing.out", "w", stdout); }else{ freopen("/Users/rakhmanabdirashov/Desktop/folder/Programming/Road2Master/Road2Master/input.txt", "r", stdin); } } int n, Q, b[mxn], l[mxn], mx[mxn]; llong ans[mxn]; struct query{ int t, l, r, ind; }q[mxn]; bool cmp(query a, query b){ return a.t < b.t; } int main () { ios; //istxt(0); cin >> n >> Q; for(int i = 1; i <= n; i++){ cin >> b[i]; mx[i] = b[i]; l[i] = i; } for(int i = 1; i <= Q; i++){ cin >> q[i].t >> q[i].l >> q[i].r; q[i].ind = i; } sort(q + 1, q + Q + 1, cmp); for(int qq = 1; qq <= Q; qq++){ int last = q[qq].t - q[qq - 1].t; for(int i = 1; i <= n; i++){ for(int j = 1; j <= last; j++){ l[i]--; if(l[i] <= 0) break; mx[i] = max(mx[i], b[l[i]]); } } llong sum = 0; for(int i = q[qq].l; i <= q[qq].r; i++){ sum += mx[i]; } ans[q[qq].ind] = sum; } for(int i = 1; i <= n; i++){ cout << ans[i] << nl; } return 0; } /* 5 5 9 3 2 6 5 1 1 3 2 1 5 3 2 5 4 3 3 5 3 5 10 10 3 1 4 1 5 9 2 6 5 3 1 1 6 2 8 10 4 2 7 8 3 3 6 1 10 3 2 8 5 1 9 7 4 5 9 7 9 10 10 10 */

Compilation message (stderr)

ho_t5.cpp: In function 'void istxt(bool)':
ho_t5.cpp:29:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
         freopen("balancing.in", "r", stdin);
         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
ho_t5.cpp:30:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
         freopen("balancing.out", "w", stdout);
         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ho_t5.cpp:32:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
         freopen("/Users/rakhmanabdirashov/Desktop/folder/Programming/Road2Master/Road2Master/input.txt", "r", stdin);
         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...