| Task: | Final Array |
| Sender: | Lahna |
| Submission time: | 2019-05-25 11:52:49 +0300 |
| Language: | C++ |
| Status: | READY |
| Result: | ACCEPTED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.11 s | details |
| #2 | ACCEPTED | 0.08 s | details |
| #3 | ACCEPTED | 0.03 s | details |
Compiler report
input/code.cpp: In function 'int main()':
input/code.cpp:28:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
while (j<hp.size() && hp[j].F==i){
~^~~~~~~~~~Code
#include <bits/stdc++.h>
#define F first
#define S second
using namespace std;
int n, m;
int a[101010];
int ln[101010];
int ended[101010];
vector<pair<int, pair<int, int> > > hp;
priority_queue<pair<int, int> > pq;
int main(){
ios_base::sync_with_stdio(0);cin.tie(0);
cin >> n >> m;
for (int i=0;i<m;++i){
int a, b, x;
cin >> a >> b >> x;
ln[i]=x-a;
hp.push_back({a, {1, i}});
hp.push_back({b+1, {0, i}});
}
sort(hp.begin(), hp.end());
int j=0;
for (int i=1;i<=n;++i){
while (j<hp.size() && hp[j].F==i){
if (hp[j].S.F==0){
ended[hp[j].S.S]=1;
}else{
pq.push({ln[hp[j].S.S], hp[j].S.S});
}
++j;
}
while (!pq.empty() && ended[pq.top().S]) pq.pop();
int v=0;
if (!pq.empty()){
v=pq.top().F+i;
}
cout << v << " ";
}
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 |
