답안 #681532

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
681532 2023-01-13T09:23:04 Z Vladth11 Cipele (COCI18_cipele) C++14
27 / 90
642 ms 1504 KB
#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
 
#define debug(x) cerr << #x << " " << x << "\n"
#define debugs(x) cerr << #x << " " << x << " "
 
using namespace std;
typedef pair <int, int> pii;
typedef long long ll;
 
const int NMAX = 100001;
const int VMAX = 41;
const int INF = 1e9;
const int MOD = 1000000009;
const int BLOCK = 318;
const int base = 31;
const int nrbits = 21;
 
int a[NMAX], b[NMAX];
int n, m;
 
int f(int poz)
{
    if(poz + m - 1 > n) return 1e9;
    int maxim = 0;
    for(int i = 1; i <= m; i++){
        maxim = max(maxim, abs(a[i + poz - 1] - b[i]));
    }
    return maxim;
}
 
int ternary(int st, int dr){
    if(st >= dr - 2)
        return min({f(st), f(dr), f(st + 1)});
    int mid1 = st + (dr - st) / 3;
    int mid2 = dr - (dr - st) / 3;
    int f1 = f(mid1);
    int f2 = f(mid2);
    if(f1 <= f2)
        return ternary(st, f2);
    return ternary(f1, dr);
}
 
int main() {
#ifdef HOME
    ifstream cin(".in");
    ofstream cout(".out");
#endif // HOME
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int i;
    cin >> n >> m;
    for(i = 1; i <= n; i++)
        cin >> a[i];
    for(i = 1; i <= m; i++)
        cin >> b[i];
    sort(a + 1, a + n + 1);
    sort(b + 1, b + m + 1);
    if(m > n){
        for(i = 1; i <= m; i++){
            swap(a[i], b[i]);
        }
        swap(n, m);
    
    }
  	int minim = 2e9;
  for(i = 1; i <= n - m + 1; i++) minim = min(minim, f(i));
  cout << minim;
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 18 ms 1360 KB Output is correct
2 Correct 35 ms 1492 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 33 ms 1492 KB Output is correct
2 Correct 35 ms 1504 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 2 ms 468 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 642 ms 1452 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 248 ms 1428 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 497 ms 1316 KB Output isn't correct
2 Halted 0 ms 0 KB -