# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
125354 | figter001 | Highway design (CEOI12_highway) | C++17 | 4 ms | 760 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
#include "office.h"
using namespace std;
int main(){
int n = GetN();
int res;
int a,b,c;
int w = 0;
for(int i=1;i<=n;i+=2){
a = i;
b = i+1;
c = i+2;
res = isOnLine(a,b,c);
if(res == 0)break;
}
w = 1;
int lst = -1;
int g = 0;
for(int i=c+1;i<=n;i++){
res = isOnLine(a,b,i);
if(res == 1){
g = c;
c = i;
break;
}
res = isOnLine(a,i,c);
if(res == 1){
g = b;
b = i;
swap(c,b);
break;
}
res = isOnLine(i,b,c);
if(res == 1){
g = a;
a = i;
swap(c,a);
break;
}
if(lst == -1)lst = i;
else{
pair<int,int> q;
res = isOnLine(i,lst,a);
if(res == 1)q = {b,c};
res = isOnLine(i,lst,b);
if(res == 1)q = {a,c};
res = isOnLine(i,lst,c);
if(res == 1)q = {a,b};
Answer(lst,i,q.first,q.second);
return 0;
}
}
if(w + 2 <= a){
Answer(a,b,w,w+1);
}
int x,y;
for(int i=c+1;i<=n;i+=2){
x = i;
y = i+1;
res = isOnLine(a,x,y);
if(res == 0){
break;
}
}
res = isOnLine(a,b,x);
if(res == 0){
Answer(a,b,g,x);
return 0;
}
res = isOnLine(a,b,y);
if(res == 0){
Answer(a,b,g,y);
return 0;
}
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |