Submission #69121435
Source Code Expand
#include "atcoder/all" //#include "atcoder/modint" //#pragma GCC optimize("Ofast") #include <bits/stdc++.h> #include <string> using namespace std; using namespace atcoder; #define int long long template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return 1; } return 0; } template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return 1; } return 0; } //const int MOD =1e9+7; //constexpr int MOD =10; constexpr int MOD =998244353; const long long M1=167772161,M2=469762049,M3=1224736769; //const int MOD =31607; using mint = static_modint<MOD>; //using mint = double; //using mint = modint; ostream& operator << (ostream& ost, const mint& m){ost << m.val();return ost;} istream& operator >> (istream& ost, mint& m){int a;ost >> a;m=a;return ost;} double time_limit = 1.8,start_temp=5.0,end_temp=0.0; std::random_device seed_gen; std::mt19937 engine(seed_gen()); signed main(){ //ios_base::sync_with_stdio(false); //cin.tie(NULL); int n; std::chrono::_V2::steady_clock::time_point t0= chrono::steady_clock::now(); cin >> n; int x[n],y[n]; for(int i=0;i<n;i++)cin >> x[i] >> y[i]; std::uniform_int_distribution<> dist(0, n-1); vector<int>v; for(int i=0;i<n;i++)v.push_back(i); while(true){ auto now = chrono::steady_clock::now(); double elapsed = chrono::duration<double>(now - t0).count(); if(elapsed>time_limit)break; int a=dist(engine); map<pair<int,int>,int>mp,mp2; for(int i=0;i<n;i++)if(i!=a){ int dx = x[i]-x[a]; int dy = y[i]-y[a]; int g = gcd(abs(dx),abs(dy)); dx/=g,dy/=g; if(dx<0)dx=-dx,dy=-dy; else if(dx==0&&dy<0)dy=-dy; mp[{dx,dy}]++; mp2[{dx,dy}]=i; } for(auto p:mp)if(p.second+1>n/2){ cout<<"Yes"<<endl; cout<<y[mp2[p.first]]-y[a]<<" "<<x[a]-x[mp2[p.first]]<<' '<<x[mp2[p.first]]*y[a]-x[a]*y[mp2[p.first]]<<endl; return 0; } } cout<<"No"<<endl; }
Submission Info
Submission Time | |
---|---|
Task | E - Colinear |
User | yatuba |
Language | C++ 20 (gcc 12.2) |
Score | 450 |
Code Size | 2111 Byte |
Status | AC |
Exec Time | 1990 ms |
Memory | 77624 KiB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 450 / 450 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt |
All | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_random_00.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 02_corner_1_00.txt, 02_corner_1_01.txt, 02_corner_1_02.txt, 02_corner_1_03.txt, 02_corner_1_04.txt, 02_corner_1_05.txt, 03_corner_2_00.txt, 03_corner_2_01.txt, 03_corner_2_02.txt, 03_corner_2_03.txt, 04_corner_3_00.txt, 04_corner_3_01.txt, 04_corner_3_02.txt, 04_corner_3_03.txt, 04_corner_3_04.txt, 04_corner_3_05.txt, 04_corner_3_06.txt, 04_corner_3_07.txt, 04_corner_3_08.txt, 04_corner_3_09.txt, 05_corner_4_00.txt, 05_corner_4_01.txt, 06_corner_5_00.txt, 06_corner_5_01.txt, 07_corner_6_00.txt, 07_corner_6_01.txt, 07_corner_6_02.txt, 07_corner_6_03.txt, 07_corner_6_04.txt, 07_corner_6_05.txt, 07_corner_6_06.txt, 07_corner_6_07.txt, 07_corner_6_08.txt, 07_corner_6_09.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_00.txt | AC | 1 ms | 3592 KiB |
00_sample_01.txt | AC | 1801 ms | 3660 KiB |
00_sample_02.txt | AC | 1 ms | 3600 KiB |
01_random_00.txt | AC | 377 ms | 36148 KiB |
01_random_01.txt | AC | 1990 ms | 77624 KiB |
01_random_02.txt | AC | 554 ms | 46116 KiB |
01_random_03.txt | AC | 1923 ms | 76972 KiB |
01_random_04.txt | AC | 1412 ms | 77564 KiB |
01_random_05.txt | AC | 1915 ms | 77572 KiB |
01_random_06.txt | AC | 1967 ms | 77624 KiB |
01_random_07.txt | AC | 1953 ms | 77564 KiB |
02_corner_1_00.txt | AC | 478 ms | 46276 KiB |
02_corner_1_01.txt | AC | 1367 ms | 77600 KiB |
02_corner_1_02.txt | AC | 503 ms | 46116 KiB |
02_corner_1_03.txt | AC | 517 ms | 46136 KiB |
02_corner_1_04.txt | AC | 545 ms | 46132 KiB |
02_corner_1_05.txt | AC | 1420 ms | 77556 KiB |
03_corner_2_00.txt | AC | 458 ms | 46272 KiB |
03_corner_2_01.txt | AC | 1304 ms | 77552 KiB |
03_corner_2_02.txt | AC | 1383 ms | 77528 KiB |
03_corner_2_03.txt | AC | 521 ms | 46184 KiB |
04_corner_3_00.txt | AC | 1801 ms | 3600 KiB |
04_corner_3_01.txt | AC | 1801 ms | 3596 KiB |
04_corner_3_02.txt | AC | 1801 ms | 3528 KiB |
04_corner_3_03.txt | AC | 1801 ms | 3592 KiB |
04_corner_3_04.txt | AC | 1801 ms | 3664 KiB |
04_corner_3_05.txt | AC | 1801 ms | 3608 KiB |
04_corner_3_06.txt | AC | 1801 ms | 3728 KiB |
04_corner_3_07.txt | AC | 1801 ms | 3564 KiB |
04_corner_3_08.txt | AC | 1801 ms | 3464 KiB |
04_corner_3_09.txt | AC | 1801 ms | 3732 KiB |
05_corner_4_00.txt | AC | 252 ms | 15248 KiB |
05_corner_4_01.txt | AC | 244 ms | 15336 KiB |
06_corner_5_00.txt | AC | 1801 ms | 3692 KiB |
06_corner_5_01.txt | AC | 1801 ms | 3680 KiB |
07_corner_6_00.txt | AC | 483 ms | 46152 KiB |
07_corner_6_01.txt | AC | 1198 ms | 46208 KiB |
07_corner_6_02.txt | AC | 1725 ms | 46044 KiB |
07_corner_6_03.txt | AC | 870 ms | 46112 KiB |
07_corner_6_04.txt | AC | 868 ms | 46128 KiB |
07_corner_6_05.txt | AC | 1275 ms | 46112 KiB |
07_corner_6_06.txt | AC | 1221 ms | 46040 KiB |
07_corner_6_07.txt | AC | 1299 ms | 46180 KiB |
07_corner_6_08.txt | AC | 1364 ms | 46116 KiB |
07_corner_6_09.txt | AC | 908 ms | 46176 KiB |