# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
121131 | bekzhan29 | Triangles (CEOI18_tri) | C++14 | 3 ms | 512 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 <iostream>
#include <algorithm>
#include <vector>
#include <map>
#include <unordered_map>
#include <set>
#include <queue>
#include "trilib.h"
using namespace std;
#define pb push_back
#define mp make_pair
#define INF 3e9
#define mod 998244353
#define eps 1e-6
#define abs(x) ((x)>=0?(x):-(x))
#define y1 solai
#define fi first
#define se second
typedef long long ll;
void read(ll &x)
{
scanf("%lld",&x);
}
void read(ll &x, ll &y)
{
scanf("%lld%lld",&x,&y);
}
void read(ll &x, ll &y, ll &z)
{
scanf("%lld%lld%lld",&x,&y,&z);
}
void print(ll x)
{
printf("%lld ",x);
}
void println(ll x)
{
printf("%lld\n",x);
}
const ll N=300100;
ll n,a[N],b[N],mid,cnt,res,mx=1000000;
bool cmp(ll x, ll y)
{
return b[x]<b[y];
}
bool cmp1(ll x, ll y)
{
cnt++;
//assert(cnt<=mx);
return is_clockwise(1,x,y);
}
int main()
{
n=get_n();
for(ll i=1;i<=n;i++)
a[i]=i;
for(ll i=3;i<=n;i++)
{
cnt++;
//assert(cnt<=mx);
if(is_clockwise(1,2,i))
b[i]=1;
else
b[i]=-1;
}
b[2]=2;
sort(a+2,a+n+1,&cmp);
for(ll i=2;i<=n;i++)
if(b[a[i]]==0)
mid=i;
sort(a+2,a+mid,&cmp1);
sort(a+mid+1,a+n+1,&cmp1);
give_answer(res);
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |