제출 #1342976

#제출 시각아이디문제언어결과실행 시간메모리
1342976thnhannCipele (COCI18_cipele)C++20
90 / 90
31 ms2708 KiB
//#pragma GCC optimize("Ofast,unroll-loops")
//#pragma GCC target("avx,avx2,fma,lzcnt,popcnt")
#include <bits/stdc++.h>
#define ll long long
#define fi first
#define se second
#define pb push_back
#define ii pair<int,int>
#define el cout<<'\n'
#define int long long
#define miuu ""

#define left __left__
#define right __right__

const ll mod=1e9+7;
const int dx[]={1,0,-1,0},dy[]={0,1,0,-1};
const int nmax=5e5;
const int inf =2e9;

void add(int &a, int b) {
    a += b;
    if (a >= mod) a -= mod;
    if (a < 0) a += mod;
}

template<typename T> void chkmin(T& x, T y) {if(x > y) x = y;}
template<typename T> void chkmax(T& x, T y) {if(x < y) x = y;}

using namespace std;

mt19937 rd(chrono::steady_clock::now().time_since_epoch().count());
int rand(int l, int r)
{
    return uniform_int_distribution<int>(l, r) (rd);
}

int n,m;
vector<int>left;
vector<int>right;

bool check(int mid)
{
    int pt = 0;
    for(auto shoes:left)
    {
        while(pt < m && (abs(right[pt] - shoes) > mid))
        {
            pt++;
        }
        if(pt == m) return false;
        pt++;
    }
    return true;
}

signed main()
{
   ios::sync_with_stdio(0);
   cin.tie(0);cout.tie(0);

   if(fopen(miuu".inp","r"))
    {
       freopen(miuu".inp","r",stdin);
       freopen(miuu".out","w",stdout);
    }

   cin >> n >> m;
   for(int i=1;i<=n;i++)
   {
       int x;
       cin >> x;
       left.push_back(x);
   }
   for(int i=1;i<=m;i++)
   {
       int x;
       cin >> x;
       right.push_back(x);
   }

   if(n > m)
   {
       swap(n,m);
       swap(left,right);
   }
   sort(left.begin(),left.end());
   sort(right.begin(),right.end());

   int l = 0;
   int r = inf;
   int ans;
   while(l <= r)
   {
       int mid = (l + r) >> 1;
       if(check(mid))
       {
           ans = mid;
           r = mid - 1;
       }
       else
           l = mid + 1;
   }
   cout << ans;

}
//  "Can i get a kiss? And can u make it last forever?"

컴파일 시 표준 에러 (stderr) 메시지

cipele.cpp: In function 'int main()':
cipele.cpp:64:15: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   64 |        freopen(miuu".inp","r",stdin);
      |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
cipele.cpp:65:15: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   65 |        freopen(miuu".out","w",stdout);
      |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
#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...
#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...