Submission #114676

#TimeUsernameProblemLanguageResultExecution timeMemory
114676KLPPRoller Coaster Railroad (IOI16_railroad)C++14
30 / 100
294 ms57716 KiB
#include "railroad.h" #include<bits/stdc++.h> using namespace std; typedef long long int lld; typedef pair<int,int> pii; #define rep(i,a,b) for(int i=a;i<b;i++) #define trav(a,v) for(auto a:v) vector<int> nei[1000000]; bool visited[1000000]; int absol(int a){ if(a>0)return a; return -a; } int sign(int a){ if(a>0)return 0; return 1; } void DFS(int node){ visited[node]=true; trav(v,nei[node]){ if(!visited[v])DFS(v); } } long long plan_roller_coaster(std::vector<int> s, std::vector<int> t) { s.push_back(1000000001); t.push_back(1); int n = (int) s.size(); vector<pii >v; rep(i,0,n){ //cout<<s[i]<<" "<<t[i]<<endl; v.push_back(pii(s[i],+i+1)); v.push_back(pii(t[i],-i-1)); } sort(v.begin(),v.end()); int imbalance=0; rep(i,0,v.size()){ if(v[i].second<0)imbalance++; else imbalance--; if(imbalance<0)return 1; if(imbalance>0){ nei[i].push_back(i+1); } } int index[n][2]; rep(i,0,v.size()){ //cout<<v[i].first<<" "<<v[i].second<<endl; index[absol(v[i].second)-1][sign(v[i].second)]=i; } rep(i,0,n){ //cout<<index[i][0]<<" "<<index[i][1]<<endl; nei[index[i][0]].push_back(index[i][1]); } /*rep(i,0,v.size()-1){ nei[i].push_back(i+1); }*/ rep(i,0,v.size())visited[i]=false; DFS(0); rep(i,0,v.size()){ //cout<<visited[i]<<endl; if(!visited[i])return 1; } return 0; }

Compilation message (stderr)

railroad.cpp: In function 'long long int plan_roller_coaster(std::vector<int>, std::vector<int>)':
railroad.cpp:6:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 #define rep(i,a,b) for(int i=a;i<b;i++)
railroad.cpp:36:7:
   rep(i,0,v.size()){
       ~~~~~~~~~~~~               
railroad.cpp:36:3: note: in expansion of macro 'rep'
   rep(i,0,v.size()){
   ^~~
railroad.cpp:6:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 #define rep(i,a,b) for(int i=a;i<b;i++)
railroad.cpp:45:7:
   rep(i,0,v.size()){
       ~~~~~~~~~~~~               
railroad.cpp:45:3: note: in expansion of macro 'rep'
   rep(i,0,v.size()){
   ^~~
railroad.cpp:6:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 #define rep(i,a,b) for(int i=a;i<b;i++)
railroad.cpp:56:7:
   rep(i,0,v.size())visited[i]=false;
       ~~~~~~~~~~~~               
railroad.cpp:56:3: note: in expansion of macro 'rep'
   rep(i,0,v.size())visited[i]=false;
   ^~~
railroad.cpp:6:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 #define rep(i,a,b) for(int i=a;i<b;i++)
railroad.cpp:58:7:
   rep(i,0,v.size()){
       ~~~~~~~~~~~~               
railroad.cpp:58:3: note: in expansion of macro 'rep'
   rep(i,0,v.size()){
   ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...