Task: | Final Array |
Sender: | O(n^10) |
Submission time: | 2019-05-25 13:44:10 +0300 |
Language: | C++ |
Status: | READY |
Result: | ACCEPTED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.22 s | details |
#2 | ACCEPTED | 0.14 s | details |
#3 | ACCEPTED | 0.03 s | details |
Compiler report
input/code.cpp: In function 'int main()': input/code.cpp:41:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int64_t i2=0; i2<a[i].size(); i2++){ ~~^~~~~~~~~~~~ input/code.cpp:50:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int64_t i2=0; i2<l[i].size(); i2++){ ~~^~~~~~~~~~~~
Code
#include <bits/stdc++.h> using namespace std; #define F first #define S second int64_t n,m; struct d{ int64_t a,b,x; }; int64_t puu[1<<18]; int64_t size = 1<<18; vector<pair<int64_t,int64_t> > l[100000]; vector<pair<int64_t,int64_t> > a[100000]; int64_t ans[100000]; void muuta(int64_t index, int64_t val){ index += size/2; puu[index] = val; for(index/=2; index > 0; index/=2){ puu[index] = max(puu[index*2],puu[index*2+1]); } } int main(){ cin >> n >> m; for(int64_t i=0; i<size; i++){ puu[i] = 0; } for(int64_t i=0; i<m; i++){ int64_t aa,b; pair<int64_t,int64_t> x; cin >> aa>> b >> x.F; x.S = i; a[aa-1].push_back(x); l[b-1].push_back(x); } for(int64_t i=0; i<n; i++){ for(int64_t i2=0; i2<a[i].size(); i2++){ muuta(a[i][i2].S, a[i][i2].F-i); } if(puu[1] == 0){ cout << "0 "; } else{ cout << puu[1]+i << " "; } for(int64_t i2=0; i2<l[i].size(); i2++){ muuta(l[i][i2].S,0); } } cout << "\n"; }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
100000 100000 29706 39977 913671103 20575 89990 878449866 1691 70785 229168045 81099 81323 611730238 ... |
correct output |
---|
227121122 450258482 450258483 ... |
user output |
---|
227121122 450258482 450258483 ... Truncated |
Test 2
Verdict: ACCEPTED
input |
---|
100000 100000 1 100000 1 1 100000 2 1 100000 3 1 100000 4 ... |
correct output |
---|
100000 100001 100002 100003 10... |
user output |
---|
100000 100001 100002 100003 10... Truncated |
Test 3
Verdict: ACCEPTED
input |
---|
8 2 1 4 1 1 8 1 |
correct output |
---|
1 2 3 4 5 6 7 8 |
user output |
---|
1 2 3 4 5 6 7 8 |