# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
849425 | Benmath | Measures (CEOI22_measures) | C++14 | 1556 ms | 896 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
/******************************************************************************
Online C++ Compiler.
Code, Compile, Run and Debug C++ program online.
Write your code in this editor and press "Run" button to compile and execute it.
*******************************************************************************/
#include <bits/stdc++.h>
using namespace std;
int broj_ljudi, broj_dodatnih;
double maksimalna_udaljenost;
double ljudi[200010];
double dodatniljudi[11];
int check (double mid, vector<double>v){
int provjera = 0;
double prethodni = v[0] - mid;
for(int i = 1; i < v.size(); i++){
double mogucnost1 = v[i] - mid;
double mogucnost2 = v[i] + mid;
double moguce = prethodni + maksimalna_udaljenost;
if(mogucnost1 >= moguce){
prethodni = mogucnost1;
}else if (moguce <= mogucnost2){
prethodni = moguce;
}else{
provjera++;
break;
}
}
return provjera;
}
int main()
{
cin>>broj_ljudi;
cin>>broj_dodatnih;
cin>>maksimalna_udaljenost;
vector<double>v;
for (int i = 0; i < broj_ljudi; i++){
cin >> ljudi[i];
v.push_back(ljudi[i]);
}
vector<double>ansispis;
for(int i = 0; i < broj_dodatnih; i++){
cin >> dodatniljudi[i];
v.push_back(dodatniljudi[i]);
sort(v.begin(), v.end());
long long int l = 0;
long long int r = 1e16;
double ans = 1e16;
double two = 2;
while (l <= r){
long long int mid = (l + r) / 2;
double mid1 = mid;
double provjerit = mid1 / two;
if(check(provjerit,v) == 0){
ans = min(ans,provjerit);
r = mid - 1;
}else{
l = mid + 1;
}
}
ansispis.push_back(ans);
}
for(int i = 0; i < ansispis.size(); i++){
cout<<ansispis[i]<<" ";
}
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |