Submission #92658

# Submission time Handle Problem Language Result Execution time Memory
92658 2019-01-04T09:36:57 Z SamAnd Trading (IZhO13_trading) C++17
100 / 100
443 ms 22696 KB
#include <iostream>
#include <algorithm>
#include <algorithm>
#include <queue>
#include <vector>
using namespace std;
const int N=300003;
struct ban
{
    int l,r,x;
};
bool operator<(const ban& a,const ban& b)
{
    int ansa,ansb;
    if(a.l<b.l)
    {
        ansb=b.x;
        ansa=a.x+(b.l-a.l);
    }
    else
    {
        ansb=b.x+(a.l-b.l);
        ansa=a.x;
    }
    return ansa<ansb;
}

int n, m;
int a[N];
vector<ban> b[N];
int main()
{
    //freopen("trading.in","r",stdin);
    //freopen("trading.out","w",stdout);
    cin>>n>>m;
    for(int i=0;i<m;++i)
    {
        ban t;
        cin>>t.l>>t.r>>t.x;
        b[t.l].push_back(t);
    }
    priority_queue<ban> q;
    for(int i=1;i<=n;++i)
    {
        ban t;
        for(int j=0;j<b[i].size();++j)
        {
            t=b[i][j];
            q.push(t);
        }
        bool z=false;
        do
        {
            if(q.empty())
            {
                z=true;
                break;
            }
            t=q.top();
            if(t.r<i)
                q.pop();
            else
                break;
        }while(1);
        if(z)
        {
            cout<<0<<' ';
            continue;
        }
        cout<<t.x+(i-t.l)<<' ';
    }
    cout<<endl;
    return 0;
}

/*
5 2
1 3 2
2 4 6
*/

Compilation message

trading.cpp: In function 'int main()':
trading.cpp:46:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int j=0;j<b[i].size();++j)
                     ~^~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 7 ms 7544 KB Output is correct
2 Correct 6 ms 7288 KB Output is correct
3 Correct 7 ms 7416 KB Output is correct
4 Correct 8 ms 7468 KB Output is correct
5 Correct 8 ms 7544 KB Output is correct
6 Correct 9 ms 7544 KB Output is correct
7 Correct 211 ms 15240 KB Output is correct
8 Correct 222 ms 16100 KB Output is correct
9 Correct 253 ms 16872 KB Output is correct
10 Correct 272 ms 17768 KB Output is correct
11 Correct 269 ms 17532 KB Output is correct
12 Correct 313 ms 19524 KB Output is correct
13 Correct 309 ms 18080 KB Output is correct
14 Correct 310 ms 18596 KB Output is correct
15 Correct 361 ms 20948 KB Output is correct
16 Correct 354 ms 19384 KB Output is correct
17 Correct 370 ms 19700 KB Output is correct
18 Correct 384 ms 21676 KB Output is correct
19 Correct 378 ms 20928 KB Output is correct
20 Correct 443 ms 22696 KB Output is correct