Submission #1278453

#TimeUsernameProblemLanguageResultExecution timeMemory
1278453MMihalev고대 책들 (IOI17_books)C++20
Compilation error
0 ms0 KiB
#include<iostream> #include<vector> #include "books.h" using namespace std; const int MAX_N=1e6+6; int col[MAX_N]; int cols; int a[MAX_N]; int l[MAX_N]; int r[MAX_N]; int n; long long ans; long long minimum_walk(std::vector<int> p, int s) { n=p.size(); s++; for(int i=1;i<=n;i++) { l[i]=1e9; r[i]=-1; a[i]=p[i-1]+1; } ///init stuff for(int i=1;i<=n;i++) { ans+=abs(i-a[i]); if(col[i]==0) { if(i!=s && i==a[i])continue; cols++; int pos=i; while(col[pos]==0) { l[cols]=min(l[cols],pos); r[cols]=max(r[cols],pos); col[pos]=cols; pos=a[pos]; } } } vector<int>sep; bool has=0; int active=0; for(int i=1;i<=n;i++) { if(has && active==0) { sep.push_back(i-1); } int curcol=col[i]; if(l[curcol]==i) { has=1; active++; } if(r[curcol]==i)active--; } if(sep.size()==0)return ans; ///cycle stuff for(int i=sep.size()-1;i>=0;i--) { if(i==sep.size()-1) { if(sep[i]>=s && a[n]!=n)ans+=2; continue; } if(sep[i]>=s && )ans+=2; } ///right part for(int i=0;i<sep.size();i++) { //cout<<sep[i]<<" "; //cout<<"\n"; if(sep[i]<s)ans+=2; } ///left part return ans; }

Compilation message (stderr)

books.cpp: In function 'long long int minimum_walk(std::vector<int>, int)':
books.cpp:73:25: error: expected primary-expression before ')' token
   73 |         if(sep[i]>=s && )ans+=2;
      |                         ^