Submission #864577

#TimeUsernameProblemLanguageResultExecution timeMemory
864577mychecksedadMeasures (CEOI22_measures)C++17
35 / 100
35 ms5468 KiB
/* 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;
  }
  ll ans = 0, last = -1e18;
  for(int i = 1; i <= m; ++i){
    ll x; cin >> x;
    x *= 2;
    if(x + ans < last){
      ll delta = (last - (x + ans)) / 2;
      ans += delta;
      last -= delta;
    }
    last = max(last, x - ans) + D;
    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 (stderr)

Main.cpp: In function 'int main()':
Main.cpp:63:15: warning: unused variable 'aa' [-Wunused-variable]
   63 |   int tt = 1, aa;
      |               ^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...