답안 #817620

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
817620 2023-08-09T14:04:44 Z TB_ Measures (CEOI22_measures) C++17
24 / 100
1500 ms 5360 KB
#include <bits/stdc++.h>
using namespace std;

// #undef _GLIBCXX_DEBUG                // disable run-time bound checking, etc
// #pragma GCC optimize("Ofast,inline") // Ofast = O3,fast-math,allow-store-data-races,no-protect-parens
// #pragma GCC optimize ("unroll-loops")

// #pragma GCC target("bmi,bmi2,lzcnt,popcnt")                      // bit manipulation
// #pragma GCC target("movbe")                                      // byte swap
// #pragma GCC target("aes,pclmul,rdrnd")                           // encryption
// #pragma GCC target("avx,avx2,f16c,fma,sse3,ssse3,sse4.1,sse4.2") // SIMD

// #include <bits/extc++.h>
// using namespace __gnu_pbds;
// template<class T>using ordered_set = tree<T, null_type, less<T>, rb_tree_tag,tree_order_statistics_node_update>;
// template<class T>using ordered_multiset = tree<T, null_type, less_equal<T>, rb_tree_tag,tree_order_statistics_node_update>;

#define ll long long
#define INF (ll)1e9+7
#define fo(i, n) for(ll i=0;i<((ll)n);i++)
#define deb(x) cout << #x << " = " << x << endl;
#define deb2(x, y) cout << #x << " = " << x << ", " << #y << " = " << y << endl
#define pb push_back
#define mp make_pair
#define F first
#define S second
#define LSOne(S) ((S) & (-S))
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
inline int readint(){ int v = 0; char c; while((c = getchar()) != EOF && c != ' ' && c != '\n'){ v *= 10; v += c - '0'; } return v; }
inline int readintsigned() { int v = 0; int sign = 1; char c = getchar(); if (c == '-') { sign = -1; } else { v += c - '0'; } while ((c = getchar()) != EOF && c != ' ' && c != '\n') { v *= 10; v += c - '0'; } return v * sign; }
inline string readstring() { string s; char c; while ((c = getchar()) != EOF && c != '\n' && c != ' ') { s.push_back(c); } return s; }
template <class result_t=std::chrono::milliseconds,class clock_t=std::chrono::steady_clock,class duration_t = std::chrono::milliseconds>
auto since(std::chrono::time_point<clock_t, duration_t> const& start){return std::chrono::duration_cast<result_t>(clock_t::now() - start);}
typedef pair<int, int> pii;
typedef pair<ll, ll> pl;
typedef vector<int> vi;
typedef vector<ll> vl;
typedef vector<pii> vpii;
typedef vector<pl> vpl;
typedef vector<vi> vvi;
typedef vector<vl> vvl;
typedef vector<vpii> vvpii;
typedef vector<vpl> vvpl;



int main() {
    // cout << fixed << setprecision(20);
    // auto start = std::chrono::steady_clock::now(); // since(start).count()
    cin.tie(0)->sync_with_stdio(0);

    ll n, m, d, val;
    cin >> n >> m >> d;
    vl v(n);
    fo(i, n){
        cin >> v[i];
    }
    fo(x, m){
        cin >> val;
        v.pb(val);
        sort(all(v));

        ll lo = -1;
        ll hi = 1e18;
        while(hi-lo > 1){
            ll mid = (hi+lo) / 2ll;
            ll last = -1e18;
            bool possible = true;
            fo(i, v.size()){
                if(last+d*2ll>v[i]*2ll+mid){
                    possible = false;
                    break;
                }
                last = max(last+d*2ll, v[i]*2ll-mid);
            }
            if(possible) hi = mid;
            else lo = mid;
        }
        if(hi%2ll == 1) cout << hi/2ll << ".5 ";
        else cout << hi/2ll << " ";
    }

    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 4 ms 340 KB Output is correct
2 Correct 3 ms 340 KB Output is correct
3 Correct 2 ms 340 KB Output is correct
4 Correct 4 ms 332 KB Output is correct
5 Correct 3 ms 328 KB Output is correct
6 Correct 3 ms 340 KB Output is correct
7 Correct 3 ms 340 KB Output is correct
8 Correct 2 ms 328 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 4 ms 340 KB Output is correct
2 Correct 3 ms 340 KB Output is correct
3 Correct 2 ms 340 KB Output is correct
4 Correct 4 ms 332 KB Output is correct
5 Correct 3 ms 328 KB Output is correct
6 Correct 3 ms 340 KB Output is correct
7 Correct 3 ms 340 KB Output is correct
8 Correct 2 ms 328 KB Output is correct
9 Correct 255 ms 5360 KB Output is correct
10 Correct 295 ms 5332 KB Output is correct
11 Correct 204 ms 5332 KB Output is correct
12 Correct 303 ms 5332 KB Output is correct
13 Correct 202 ms 4820 KB Output is correct
14 Correct 245 ms 5344 KB Output is correct
15 Correct 245 ms 4700 KB Output is correct
16 Correct 203 ms 5332 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1564 ms 748 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1564 ms 748 KB Time limit exceeded
2 Halted 0 ms 0 KB -