Submission #1029656

#TimeUsernameProblemLanguageResultExecution timeMemory
102965612345678Roller Coaster Railroad (IOI16_railroad)C++17
0 / 100
472 ms53588 KiB
#include "railroad.h"
#include <bits/stdc++.h>

using namespace std;

const int nx=2e5+5;

int n, T, cnts, cntt, lst=INT_MAX;
map<int, int> mp;
vector<int> vt[2*nx], vs[2*nx];

long long plan_roller_coaster(std::vector<int> s, std::vector<int> t) {
    n=s.size();
    for (int i=0; i<n;i ++) mp[s[i]]=mp[t[i]]=0;
    for (auto &[x, y]:mp) y=++T;
    for (int i=0; i<n;i ++) vs[mp[s[i]]].push_back(i), vt[mp[t[i]]].push_back(i); //cout<<"mp "<<mp[s[i]]<<' '<<mp[t[i]]<<'\n';
    for (int i=2*n; i>=1; i--)
    {
        for (auto x:vs[i]) cnts++;
        for (auto x:vt[i]) if (s[x]<t[x]) lst=i;
        for (auto x:vt[i])
        {
            cntt++;
            int vl=cnts;
            if (s[x]>=t[x]&&s[x]<lst) vl--;
            //cout<<"x "<<x<<' '<<vl<<' '<<cntt<<'\n';
            if (vl<cntt-1) return 1;
        }
        if (!vt[i].empty()) lst=i;
    }
    return 0;
}

Compilation message (stderr)

railroad.cpp: In function 'long long int plan_roller_coaster(std::vector<int>, std::vector<int>)':
railroad.cpp:19:19: warning: unused variable 'x' [-Wunused-variable]
   19 |         for (auto x:vs[i]) cnts++;
      |                   ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...