# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
229773 | Ruxandra985 | Triangles (CEOI18_tri) | C++14 | 0 ms | 0 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>
using namespace std;
long long v[40010] , x[40010] , y[40010] , s[40010];
int cmp (int x , int y){
return !is_clockwise(1 , x , y);
}
int main()
{
long long n , i , elem , j;
n = get_n();
/// stergi citirea, folosesti get_n
for (i = 1 ; i <= n ; i++)
v[i] = i;
sort (v + 2 , v + n + 1 , cmp);
/*for (i = 1 ; i <= n ; i++){
fprintf (fout,"%d\n" , v[i]);
}*/
v[n + 1] = 1;
s[1] = v[1];
s[2] = v[2];
elem = 2;
for (j = 3 ; j <= n ; j++){
while (elem >= 2 && is_clockwise (s[elem - 1] , s[elem] , v[j]))
elem--;
s[++elem] = v[j];
}
while (elem >= 2 && is_clockwise (s[elem - 1] , s[elem] , s[1]))
elem--;
while (elem >= 2 && is_clockwise (s[elem] , s[1] , s[2]))
elem--;
elem = max(elem , 3LL);
give_answer((int)elem);
return 0;
}