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
AC × 3
AC × 45
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