답안 #864575

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
864575 2023-10-23T09:02:51 Z mychecksedad Measures (CEOI22_measures) C++17
24 / 100
1500 ms 6496 KB
/* Author : Mychecksdead  */
#include<bits/stdc++.h>
using namespace std;
#define ll long long int
#define MOD (1000000000+7)
#define MOD1 (998244353)
#define pb push_back
#define all(x) x.begin(), x.end()
#define en cout << '\n'
const int N = 1e6+100, M = 1e5+10, K = 52, MX = 30;
const double eps = 1e-5;

int n, m;
ll D;
bool check(ll m, vector<ll> &v){
  ll last = 1e18;
  for(int i = v.size() - 1; i >= 0; --i){
    if(last < v[i] - m){
      return 0;
    }
    last = min(last - D, v[i] + m - D);
  }
  return 1;
}
ll solv(vector<ll> &v){
  sort(all(v));
  ll l = 0, r = 1e18, ans = 1e18;
  while(l <= r){
    ll m = l+r>>1;
    if(check(m, v)){
      ans = m;
      r = m - 1;
    }else l = m + 1;
  }
  return ans;
}
void solve(){
  cin >> n >> m >> D;
  D *= 2;
  vector<ll> pos(n);
  for(int i = 0; i < n; ++i){
    cin >> pos[i];
    pos[i] *= 2;
  }
  for(int i = 1; i <= m; ++i){
    ll x; cin >> x;
    pos.pb(2*x);
    ll ans = solv(pos);
    if(ans % 2 == 0) cout << ans / 2 << ' ';
    else cout << ans/2 << ".5" << ' ';
  }
}


int main(){
  cin.tie(0); ios::sync_with_stdio(0);
  int tt = 1, aa;
  // freopen("in.txt", "r", stdin);
  // freopen("out.txt", "w", stdout);
  while(tt--){
    solve();
  }
  cerr<<"time taken : "<<(float)clock()/CLOCKS_PER_SEC<<" seconds\n";
  return 0;
} 

Compilation message

Main.cpp: In function 'long long int solv(std::vector<long long int>&)':
Main.cpp:29:13: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   29 |     ll m = l+r>>1;
      |            ~^~
Main.cpp: In function 'int main()':
Main.cpp:57:15: warning: unused variable 'aa' [-Wunused-variable]
   57 |   int tt = 1, aa;
      |               ^~
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 344 KB Output is correct
2 Correct 2 ms 348 KB Output is correct
3 Correct 2 ms 348 KB Output is correct
4 Correct 3 ms 348 KB Output is correct
5 Correct 2 ms 348 KB Output is correct
6 Correct 2 ms 348 KB Output is correct
7 Correct 2 ms 468 KB Output is correct
8 Correct 2 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 344 KB Output is correct
2 Correct 2 ms 348 KB Output is correct
3 Correct 2 ms 348 KB Output is correct
4 Correct 3 ms 348 KB Output is correct
5 Correct 2 ms 348 KB Output is correct
6 Correct 2 ms 348 KB Output is correct
7 Correct 2 ms 468 KB Output is correct
8 Correct 2 ms 348 KB Output is correct
9 Correct 224 ms 6496 KB Output is correct
10 Correct 254 ms 6476 KB Output is correct
11 Correct 155 ms 5452 KB Output is correct
12 Correct 276 ms 5468 KB Output is correct
13 Correct 156 ms 5724 KB Output is correct
14 Correct 195 ms 5980 KB Output is correct
15 Correct 212 ms 4688 KB Output is correct
16 Correct 161 ms 5516 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1551 ms 596 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1551 ms 596 KB Time limit exceeded
2 Halted 0 ms 0 KB -