Submission #8914980
Source Code Expand
#include <bits/stdc++.h> using namespace std; #define SZ(x) (int)(x.size()) using ll = long long; using ld = long double; using P = pair<int, int>; using vi = vector<int>; using vvi = vector<vector<int>>; using vll = vector<ll>; using vvll = vector<vector<ll>>; const double eps = 1e-10; const int MOD = 1000000007; const int INF = 1000000000; const ll LINF = 1ll<<50; template<typename T> void printv(const vector<T>& s) { for(int i=0;i<(int)(s.size());++i) { cout << s[i]; if(i == (int)(s.size())-1) cout << endl; else cout << " "; } } int main() { cin.tie(0); ios::sync_with_stdio(false); cout << fixed << setprecision(10); int n, m; cin >> n >> m; vi a(n); for(int i=0;i<n;++i) { cin >> a[i]; a[i]--; } vector<ll> b(m); for(int i=0;i<n-1;++i) { if(a[i] != m-1) b[a[i]+1]--; b[a[i+1]]++; if(a[i] > a[i+1] && a[i] != 0) { b[0]--; } } vll su(m); su[0] = b[0]; for(int i=1;i<m;++i) { su[i] = su[i-1] + b[i]; } for(int i=1;i<n;++i) { su[a[i]] += (a[i] + m - a[i-1]) % m - 1; } //printv(su); ll ans = 0; for(int i=1;i<n;++i) { ans += min((a[i] + m - a[i-1]) % m, a[i] + 1); } //cout << ans << endl; ll mi = ans; for(int i=0;i<m;++i) { ans += su[i]; mi = min(mi, ans); } cout << mi << endl; }
Submission Info
Submission Time | |
---|---|
Task | E - guruguru |
User | kanra824 |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 1395 Byte |
Status | AC |
Exec Time | 11 ms |
Memory | 2176 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 700 / 700 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample1.txt, sample2.txt |
All | half0.txt, half1.txt, half2.txt, half3.txt, half4.txt, min_m.txt, min_n.txt, mx0.txt, mx1.txt, mx2.txt, rnd0.txt, rnd1.txt, rnd2.txt, rnd3.txt, rnd4.txt, rnd5.txt, rnd6.txt, rnd7.txt, rnd8.txt, rnd9.txt, sample1.txt, sample2.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
half0.txt | AC | 4 ms | 1280 KB |
half1.txt | AC | 3 ms | 1920 KB |
half2.txt | AC | 6 ms | 1664 KB |
half3.txt | AC | 8 ms | 1280 KB |
half4.txt | AC | 9 ms | 1920 KB |
min_m.txt | AC | 1 ms | 256 KB |
min_n.txt | AC | 2 ms | 1792 KB |
mx0.txt | AC | 11 ms | 2176 KB |
mx1.txt | AC | 11 ms | 2176 KB |
mx2.txt | AC | 11 ms | 2176 KB |
rnd0.txt | AC | 1 ms | 640 KB |
rnd1.txt | AC | 1 ms | 384 KB |
rnd2.txt | AC | 2 ms | 512 KB |
rnd3.txt | AC | 3 ms | 512 KB |
rnd4.txt | AC | 8 ms | 640 KB |
rnd5.txt | AC | 1 ms | 256 KB |
rnd6.txt | AC | 1 ms | 256 KB |
rnd7.txt | AC | 1 ms | 640 KB |
rnd8.txt | AC | 2 ms | 384 KB |
rnd9.txt | AC | 1 ms | 384 KB |
sample1.txt | AC | 1 ms | 256 KB |
sample2.txt | AC | 1 ms | 256 KB |