| # | 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... | ||||
