제출 #817128

#제출 시각아이디문제언어결과실행 시간메모리
817128enerelt14Measures (CEOI22_measures)C++14
59 / 100
94 ms6152 KiB
#include <algorithm> #include <array> #include <bitset> #include <cassert> #include <chrono> #include <climits> #include <cmath> #include <complex> #include <cstring> #include <functional> #include <iomanip> #include <iostream> #include <map> #include <numeric> #include <queue> #include <random> #include <set> #include <vector> using namespace std; #define ff first #define ss second #define ll long long const int MX = 2e5 + 15; int n, m, d; int a[MX], b[MX]; pair<int, int> c[MX]; void go() { for(int j = 0; j < m; j++) { int ind = -1; for(int i = 0; i < n; i++) { if(a[i] > b[j]) { ind = i; break; } } if(ind == -1) ind = n; for(int i = n; i > ind; i--) a[i] = a[i - 1]; a[ind] = b[j]; n++; ll mx = 0, mn = 1e18, cur = 0; for(int i = 0; i < n - 1; i++) { cur += a[i + 1] - a[i] - d; mn = min(mn, cur - mx); mx = max(mx, cur); } if(mn > 0) cout << "0\n"; else{ cout << -mn / 2; if(mn % 2)cout << ".5\n"; else cout << "\n"; } } } int main() { cin >> n >> m >> d; for(int i = 0; i < n; i++) cin >> a[i]; for(int i = 0; i < m; i++) { cin >> b[i]; } sort(a, a + n); if(n != 0) { go(); return 0; } ll cur = 0, mx = 0, mn = 1e18; cout << "0\n"; for(int i = 1; i < m; i++) { cur += b[i] - b[i - 1] - d; mn = min(mn, cur - mx); mx = max(mx, cur); if(mn > 0) cout << "0 "; else{ cout << -mn / 2; if(mn % 2)cout << ".5 "; else cout << " "; } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...