#include <bits/stdc++.h>
using namespace std;/*
<<<<It's never too late for a new beginning in your life>>>>
Today is hard
tomorrow will worse
but the day after tomorrow will be the sunshine..
HARD WORK BEATS TALENT WHEN TALENT DOESN'T WORK HARD............
Never give up */
//The most CHALISHKANCHIK
#define ff first
#define ss second
#define pb push_back
#define all(x) x.begin(),x.end()
#define rall(x) x.rbegin(),x.rend()
#define int long long
typedef vector<int> vi;
typedef pair<int,int> pii;
typedef vector<pair<int,int> > vii;
const long long N = 1e5+50, inf = 1e18, mod = 1e9+7;
void solve(){
int n;
cin >> n;
vi v(n);
for(int i = 0; i < n; i++){
cin >> v[i];
}
int q;
cin >> q;
////////////////////////////////psd vajno
n--;
////////////////////////////////
while(q--){
int x, ans = 0;
cin >> x;
int l = lower_bound(all(v), x) - v.begin();
if(l >= n)l = n-1;
int r = l+1;
while(1){
int d = max(x - v[l], v[r] - x);
if(x-v[l] <= v[r]-x){
int _l = lower_bound(all(v), x-d) - v.begin();
if(v[_l] < x-d)_l++;
//~ cout << _l << '\n';
ans += x-v[_l];
if(_l == 0){
ans += v[n]-v[0];
break;
}
x = v[_l];
l = _l-1;
}else{
int _r = lower_bound(all(v), x+d) - v.begin();
_r = min(n, _r);
ans += v[_r]-x;
//~ cout << "__ " << _r << '\n';
if(_r == r){
ans+=v[n]-v[0];
break;
}
x = v[_r];
r = _r+1;
}
//~ cout << l << ' ' << r << ' ' << x << '\n';
}
cout << ans << '\n';
}
}
main(){
ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
int t = 1;
//~ cin >> t;
while(t--){
solve();
}
}
Compilation message
travel.cpp:69:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
69 | main(){
| ^~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
344 KB |
Output is correct |
2 |
Correct |
1 ms |
348 KB |
Output is correct |
3 |
Execution timed out |
3088 ms |
348 KB |
Time limit exceeded |
4 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
344 KB |
Output is correct |
2 |
Correct |
1 ms |
348 KB |
Output is correct |
3 |
Execution timed out |
3088 ms |
348 KB |
Time limit exceeded |
4 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Correct |
0 ms |
348 KB |
Output is correct |
3 |
Incorrect |
0 ms |
348 KB |
Output isn't correct |
4 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
344 KB |
Output is correct |
2 |
Correct |
1 ms |
348 KB |
Output is correct |
3 |
Execution timed out |
3088 ms |
348 KB |
Time limit exceeded |
4 |
Halted |
0 ms |
0 KB |
- |