Submission #616130

#TimeUsernameProblemLanguageResultExecution timeMemory
616130rrrr10000고대 책들 (IOI17_books)C++14
12 / 100
2 ms336 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<ll,ll> P; typedef vector<ll> vi; typedef vector<vi> vvi; typedef vector<P> vp; typedef vector<vp> vvp; typedef vector<bool> vb; #define rep(i,n) for(ll i=0;i<(ll)(n);i++) #define REP(i,k,n) for(ll i=(ll)(k);i<(ll)(n);i++) #define all(a) a.begin(),a.end() #define fi first #define se second #define lb(v,k) (lower_bound(all(v),k)-v.bein()) #define dupli(a) {sort(all(a));a.erase(unique(all(a)),a.end());} #define pb emplace_back template<class T> bool chmin(T&a,T b){if(a>b){a=b;return true;}return false;} template<class T> bool chmax(T&a,T b){if(a<b){a=b;return true;}return false;} template<class T> void out(T a){cout<<a<<endl;} template<class T> void outv(T v){rep(i,v.size()){if(i)cout<<' ';cout<<v[i];}cout<<endl;} const ll inf=1001001001001001001; long long minimum_walk(std::vector<int> p, int s) { ll l=0,r=p.size()-1; while(l<s&&p[l]==l)l++; while(r>s&&p[r]==r)r--; vi v; REP(i,l,r+1)v.pb(p[i]-l); s-=l; ll n=v.size(),ans=0; vi c(n-1); rep(i,n-1){ rep(j,i+1)if(v[j]>i)c[i]++; } rep(i,n){ if(s-i>=0&&v[s-i]!=s-i){ rep(j,i)c[s-1-j]++; } else if(s+i<n&&v[s+i]!=s+i){ rep(j,i)c[s+j]++; } else continue; break; } rep(i,n-1)ans+=c[i]; return ans*2; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...