# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
125354 | figter001 | 고속도로 설계 (CEOI12_highway) | C++17 | 4 ms | 760 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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;
}
컴파일 시 표준 에러 (stderr) 메시지
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |