Submission #1239032

#TimeUsernameProblemLanguageResultExecution timeMemory
1239032vivkostovAncient Books (IOI17_books)C++20
Compilation error
0 ms0 KiB
#pragma once #include "grader.cpp" #include "books.h" #include <bits/stdc++.h> using namespace std; struct cell { int l,r; long long int st; }; bool cmp(cell a1,cell a2) { return a1.l<a2.l; } int n,start,br,used[1000005],a[1000005]; long long int otg=0; cell p[1000005]; void dfs(int beg) { p[br].l=min(p[br].l,beg); p[br].r=max(p[br].r,beg); p[br].st+=abs(a[beg]-beg); used[beg]=1; if(!used[a[beg]]) { dfs(a[beg]); } } void prec() { for(int i=1;i<=n;i++) { if(!used[i]) { br++; p[br].l=1e9; dfs(i); otg+=p[br].st; } } sort(p+1,p+br+1,cmp); /*for(int i=1;i<=br;i++) { cout<<p[i].l<<" "<<p[i].r<<" "<<p[i].st<<endl; }*/ } void resh() { int to=1; for(int i=1;i<=n;i++) { if(p[i].l==p[i].r)continue; if(to>=p[i].l) { to=max(to,p[i].r); } else { otg+=(p[i].l-to)*2; to=p[i].r; } } } long long minimum_walk(std::vector<int> p, int s) { n=p.size(); for(int i=1;i<=n;i++) { a[i]=p[i-1]+1; } start=s; prec(); resh(); return otg; }

Compilation message (stderr)

books.cpp:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
/usr/bin/ld: /tmp/ccblUDno.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccaveyJI.o:books.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status