답안 #1039925

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1039925 2024-07-31T12:32:53 Z 7again Cipele (COCI18_cipele) C++17
27 / 90
1000 ms 8484 KB
#include <bits/stdc++.h>
#define int long long
#define double long double
#define all(x) x.begin(),x.end()
#define rall(x) x.rbegin(),x.rend()
#define FAST ios::sync_with_stdio(0);cout.tie(0);cin.tie(0)
//#define endl "\n"
#define f first
#define s second
#define pb push_back
#define in insert

//#define ind(v,t) distance(v.begin(),t)
using namespace std ;

int MOD = 1e18 ;
const int N = 200000 ;

//int fib(int n){double phi=(1+sqrt(5))/2;return round((pow(phi,n)-pow(1-phi,n))/sqrt(5));}
//void setIO(string s){freopen((s+".in").c_str(),"r",stdin);freopen((s+".out").c_str(),"w",stdout);}
int fstpow(int a, int b){if(b==0)return 1;int ans=fstpow(a,b/2)%MOD;ans=ans%MOD*ans%MOD;if(b&1)return a*ans%MOD;return ans%MOD;}
int inv(int x){return fstpow(x,MOD-2);}
int DMOD(int x,int y){x%=MOD;y%=MOD;return fstpow(x,inv(y));}
int MMOD(int x,int y){x%=MOD;y%=MOD;return (x*y)%MOD;}
//int AMOD(int x,int y){x%=MOD;y%=MOD;return (x+y)%MOD;}
int SMOD(int x,int y){x%=MOD;y%=MOD;return (x-y+MOD)%MOD;}
//int Factorial[N];void FAC(){Factorial[0]=1;for(int i=1;i<=2e6;i++)Factorial[i]=(Factorial[i-1]%MOD*i%MOD)%MOD;}
//int PREFIX[3e6];void PFX(){PREFIX[0]=0;for(int i=1;i<=2e6;i++)PREFIX[i]=PREFIX[i]+PREFIX[i-1]+i;}
//fill_n(&a[0][0],(n+1)*(m+1),valu);
//int C(int x,int y){int A=1,B=1;for(int i=y+1;i<=x;i++)A*=i;for(int i=2;i<=x-y;i++)B*=i;return A/B;}

vector <pair <int , int>> v[N] ;
void slv()
{
    int n , m ;
    cin >> n >> m ;

    vector <int> a(n) , b(m) ;
    for(int i = 0 ; i < n ; i++)
        cin >> a[i] ;
    for(int i = 0 ; i < m ; i++)
        cin >> b[i] ;

    sort(all(a)) ;
    sort(all(b)) ;

    int ans = 1e9 ;
    if(n >= m)
    {
        for(int i = 0 ; i < m && m + i <= n ; i++)
        {
            int mx = 0 ;
            for(int j = i ; j < m + i ; j++)
                mx = max(mx , abs(b[j - i] - a[j])) ;

            ans = min(ans , mx) ;
        }
    }
    else
    {
        int mx = 0 ;
        for(int i = 0 ; i < n && n + i <= m ; i++)
        {
            int mx = 0 ;
            for(int j = i ; j < n + i ; j++)
                mx = max(mx , abs(a[j - i] - b[j])) ;
            ans = min(ans , mx) ;
        }
    }

    cout << ans ;
}
main()
{

    //FAST ;

    int t = 1 ;
    //cin >> t ;

    while(t--)
        slv() ;
}

//TLE Problem ?
/*
    -> const MOD
    -> const int
    -> FAST
    -> "/n" | endl
    -> array size
*/

//MLE Problem ?
/*
    -> array size()
    -> N ?
    -> long long
    -> define
    -> long long dp[1000][100000] ? ;
*/

//RTE problem ?
/*
    -> array size ?
    -> x / 0 ?
*/

Compilation message

cipele.cpp: In function 'void slv()':
cipele.cpp:61:13: warning: unused variable 'mx' [-Wunused-variable]
   61 |         int mx = 0 ;
      |             ^~
cipele.cpp: At global scope:
cipele.cpp:73:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   73 | main()
      | ^~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 36 ms 8016 KB Output is correct
2 Correct 49 ms 8484 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 49 ms 8276 KB Output is correct
2 Correct 53 ms 8280 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 4952 KB Output is correct
2 Correct 4 ms 5212 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 5212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 7 ms 5212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 7 ms 5212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 5 ms 5260 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1048 ms 7764 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 554 ms 8108 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1055 ms 7648 KB Time limit exceeded
2 Halted 0 ms 0 KB -