Submission #1060131

#TimeUsernameProblemLanguageResultExecution timeMemory
1060131Szymon_PilipczukTriangles (CEOI18_tri)C++17
0 / 100
1 ms420 KiB
#include "trilib.h" //#include <iostream> using namespace std; /*int get_n() { int n; cin>>n; return n; } bool is_clockwise(int a,int b,int c) { cout<<a<<" "<<b<<" "<<c<<"\n"; int result; cin>>result; if(result ==0) { return false; } else { return true; } } void give_answer(int s) { cout<<s<<"\n"; }*/ int main() { int n = get_n(); int p[n]; p[0] = 1; if(is_clockwise(1,2,3)) { p[1] = 2; p[2] = 3; } else { p[1] = 3; p[2] = 2; } int ans = 3; int l,r; for(int i =4;i<=n;i++) { l = 0; r = ans -1 ; int mr = ans; while(r>(l+2)%ans) { if(r == ans-1 && l == 0) { r = 0; } int mid = (mr+l+1)/2; // cout<<mid; if(is_clockwise(p[l],p[mid],i)) { l = mid; } else { r = mid; mr = mid; } } bool ans2 = is_clockwise(p[l],p[l+1],i); bool ans3 = is_clockwise(p[l+1],p[r],i); // cout<<ans<<"\n"; if(ans == 3) { if (ans2 == false &&ans3 == false) { p[l+1] = i; } else if (ans2&&ans3) { p[r+1] = i; ans++; } else { bool ans4 = is_clockwise(p[l],p[r],i); if(ans4) { if(ans2) { p[r] = i; } else { p[l] = i; } } else { if(ans2) { int cu = i; int cu2; for(int j = r;j<=ans;j++) { cu2 = cu; cu = p[j]; p[j] = cu2; } ans++; } else { int cu = i; int cu2; for(int j = l+1;j<=ans;j++) { cu2 = cu; cu = p[j]; p[j] = cu2; } ans++; } } } } else { if(ans2 ==false) { if(ans3 == false) { p[l+1] = i; } else { int cu = i; int cu2; for(int j = l+1;j<=ans;j++) { cu2 = cu; cu = p[j]; p[j] = cu2; } ans++; } } else if(ans3 == false) { int cu = i; int cu2; for(int j = r;j<=ans;j++) { cu2 = cu; cu = p[j]; p[j] = cu2; } ans++; } } } give_answer(ans); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...