답안 #691494

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
691494 2023-01-31T07:52:37 Z fatemetmhr Measures (CEOI22_measures) C++17
24 / 100
1500 ms 1884 KB
// hmmm... na dige chizi baraye goftan namoonde
 
 
// ~ Be Name Khoda ~

#include <bits/stdc++.h>
//#pragma GCC optimize ("Ofast")
//#pragma GCC target("avx2")
//#pragma GCC optimize("unroll-loops,O3")

using namespace std;

typedef long long ll;

#define pb       push_back
#define mp       make_pair
#define all(x)   x.begin(), x.end()
#define fi       first
#define se       second

const int maxn  =  1e6   + 10;
const int maxn5 =  5e5   + 10;
const int maxnt =  1.2e6 + 10;
const int maxn3 =  1e3   + 10;
const int mod   =  1e9   +  7;
const ll  inf   =  1e18;

ll d;
ll a[maxn5];

inline ll solve(int n){
    //cout << "ok " << n << endl;
    sort(a, a + n);
    ll lastpos = a[0], tim = 0;
    for(int i = 1; i < n; i++){
        if(a[i] - lastpos >= d)
            lastpos = max(lastpos + d, a[i] - tim);
        else if(a[i] + tim - lastpos >= d)
            lastpos += d;
        else{
            ll need = d - (a[i] - lastpos) - tim;
            ll x = a[i] + tim;
            //cout << "here " << x << ' ' << need << ' ' << tim << endl;
            need /= 2;
            tim += need;
            lastpos = x + need;
        }
        //cout << i << ' ' << lastpos << ' ' << tim << endl;
    }
    return tim;
}

 
int main(){
    ios_base::sync_with_stdio(false); cin.tie(0);
 
    int n, m;
    cin >> n >> m >> d;
    d *= 2;
    for(int i = 0; i < n; i++){
        cin >> a[i];
        a[i] *= 2;
    }
    for(int i = 0; i < m; i++){
        cin >> a[i + n];
        a[i + n] *= 2;
        ll ans = solve(i + n + 1);
        cout << ans / 2 << (ans & 1 ? ".5 " : " ");
    }
    cout << endl;

}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
4 Correct 2 ms 340 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
6 Correct 1 ms 340 KB Output is correct
7 Correct 2 ms 340 KB Output is correct
8 Correct 1 ms 340 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
4 Correct 2 ms 340 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
6 Correct 1 ms 340 KB Output is correct
7 Correct 2 ms 340 KB Output is correct
8 Correct 1 ms 340 KB Output is correct
9 Correct 110 ms 1876 KB Output is correct
10 Correct 153 ms 1876 KB Output is correct
11 Correct 56 ms 1872 KB Output is correct
12 Correct 165 ms 1880 KB Output is correct
13 Correct 50 ms 1876 KB Output is correct
14 Correct 110 ms 1880 KB Output is correct
15 Correct 103 ms 1872 KB Output is correct
16 Correct 57 ms 1884 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1555 ms 512 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1555 ms 512 KB Time limit exceeded
2 Halted 0 ms 0 KB -