Submission #890785

#TimeUsernameProblemLanguageResultExecution timeMemory
890785vjudge1Bitaro's travel (JOI23_travel)C++17
15 / 100
82 ms17940 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #pragma GCC target("avx,avx2,fma") #pragma GCC optimize("Ofast,unroll-loops") #define pii pair<int,int> using namespace __gnu_pbds; using namespace std; #define pb push_back #define all(x) x.begin(),x.end() #define rall(x) x.rbegin(),x.rend() #define int long long #define f first #define s second #define pii pair<int,int> template<class T>bool umax(T &a,T b){if(a<b){a=b;return true;}return false;} template<class T>bool umin(T &a,T b){if(b<a){a=b;return true;}return false;} typedef tree<int, null_type, less_equal<int>, rb_tree_tag, tree_order_statistics_node_update> ordered_set; const int mod= 1e9 +7; const int N=1e5*4; int binpow (int a, int n) { if (n == 0) return 1; if (n % 2 == 1) return binpow (a, n-1) * a; else { int b = binpow (a, n/2); return b * b; } } void solve(){ int n,m,k; cin>>n; vector<int>v(n); for(auto &to:v)cin>>to; vector<pii>vs(n); cin>>m>>k; for(int i = 0;i<n;i++){ if(i!=0)vs[i].f = i-1; if(i!=n-1)vs[i].s = i+1; } map<int,int>vis; int cnt = 1; int ans = 0; int l,r; int mn = mod,ind = -1; for(int i = 0;i<n;i++) if(umin(mn,abs(v[i]-k))){ ind = i; l = vs[i].f; r = vs[i].s; } ans += mn;k = ind; vis[ind] = 1; while(cnt<n){ //~ cout<<k<<endl; //~ cout<<vs[k].f<<" "<<vs[k].s<<endl; int disl = mod,disr = mod; if(k!=0&&vis[vs[k].f]==0)disl = abs(v[vs[k].f] - v[k]); if(k!=n-1&&vis[vs[k].s]==0)disr = abs(v[vs[k].s] - v[k]); if(disl<=disr){ vs[vs[k].f].s = vs[k].s; vis[k] = 1; ans += disl; k = vs[k].f; } else{ vs[vs[k].s].f = vs[k].f; vis[k] = 1; ans += disr; k = vs[k].s; } cnt++; } cout<<ans<<endl; } signed main() { // freopen("seq.in", "r", stdin); // freopen("seq.out", "w", stdout); ios_base::sync_with_stdio(0);cin.tie(NULL);cout.tie(NULL); int tt=1;//cin>>tt; while(tt--)solve(); }

Compilation message (stderr)

travel.cpp: In function 'void solve()':
travel.cpp:55:6: warning: variable 'l' set but not used [-Wunused-but-set-variable]
   55 |  int l,r;
      |      ^
travel.cpp:55:8: warning: variable 'r' set but not used [-Wunused-but-set-variable]
   55 |  int l,r;
      |        ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...