Submission #425037

#TimeUsernameProblemLanguageResultExecution timeMemory
425037A_DTriangles (CEOI18_tri)C++14
35 / 100
451 ms304 KiB
#include <bits/stdc++.h> #include <stdio.h> #include <stdlib.h> #include <assert.h> //#include "trilib.h" using namespace std; static int n; static long long *x, *y; static int queries=0; static void init() { static int is_inited=0; if (is_inited) return; is_inited=1; assert(scanf("%d", &n)==1); x=(long long*)malloc((n+1)*sizeof(long long)); y=(long long*)malloc((n+1)*sizeof(long long)); for (int i=1; i<=n; i++) assert(scanf("%lld%lld", &x[i], &y[i])==2); } int get_n() { init(); return n; } int is_clockwise(int a, int b, int c) { init(); assert(a>=1 && a<=n); assert(b>=1 && b<=n); assert(c>=1 && c<=n); assert(a!=b && a!=c && b!=c); queries++; if(queries == 1000 * 1000 + 1) printf("Too many queries!"); return (x[b]-x[a])*(y[c]-y[a])-(x[c]-x[a])*(y[b]-y[a])<0; } void give_answer(int s) { init(); printf("%d\n", s); } int nn; bool ok(int i,int j) { int cnt=0; for(int k=1;k<=nn;k++){ if(k==i||k==j)continue; int b=is_clockwise(i,j,k); cnt|=(1<<b); } return cnt<3; } void solve() { nn=get_n(); int ans=0; for(int i=1;i<=nn;i++){ for(int j=i+1;j<=nn;j++){ if(i==j)continue; if(ok(i,j))ans+=1; } } give_answer(ans); } main() { int t=1; while(t--)solve(); //cin>>t; }

Compilation message (stderr)

tri.cpp:72:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   72 | main()
      | ^~~~
#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...