Submission #1230295

#TimeUsernameProblemLanguageResultExecution timeMemory
1230295Tenis0206Measures (CEOI22_measures)C++20
59 / 100
140 ms5192 KiB
#include <bits/stdc++.h> #define int long long using namespace std; const int nmax = 2e5; int n, m, d; int a[nmax + 5], b[nmax + 5]; void print(int val) { if(val % 2 == 0) { cout<<val/2<<' '; } else { double p = 0.5 * val; cout<<fixed<<setprecision(1); cout<<p<<' '; } } signed main() { ios::sync_with_stdio(false); cin.tie(0); #ifdef home freopen("nr.in","r",stdin); freopen("nr.out","w",stdout); #endif // home cin>>n>>m>>d; d *= 2; if(m > 10) { for(int i=1; i<=n; i++) { cin>>a[i]; a[i] *= 2; } for(int i=1; i<=m; i++) { cin>>b[i]; b[i] *= 2; b[i] += 1LL * (m - i) * d; } int t = 0; int last = -d; for(int i=1; i<=m; i++) { if(b[i] + t >= last) { last = max(last, b[i] - t); print(t); continue; } t += (last - (b[i] + t)) / 2; last = b[i] + t; print(t); } return 0; } vector<int> v; for(int i=1;i<=n;i++) { int x; cin>>x; x *= 2; v.push_back(x); } for(int p=1;p<=m;p++) { int x; cin>>x; x *= 2; v.push_back(x); sort(v.begin(), v.end()); for(int i=0;i<v.size();i++) { v[i] += 1LL * (v.size() - i) * d; } int t = 0; int last = -d; for(int i=0;i<v.size();i++) { if(v[i] + t >= last) { last = max(last, v[i] - t); continue; } t += (last - (v[i] + t)) / 2; last = v[i] + t; } print(t); for(int i=0;i<v.size();i++) { v[i] -= 1LL * (v.size() - i) * d; } } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...