結果
問題 |
No.838 Noelちゃんと星々3
|
ユーザー |
|
提出日時 | 2019-06-14 22:59:10 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,065 bytes |
コンパイル時間 | 736 ms |
コンパイル使用メモリ | 78,168 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-14 12:45:33 |
合計ジャッジ時間 | 1,796 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 4 WA * 22 |
ソースコード
#include<iostream> #include<string> #include<iomanip> #include<cmath> #include<vector> #include<algorithm> using namespace std; #define int long long #define rep(i,n) for(int i = 0; i < (n); i++) #define endl "\n" const long long INF = (long long)1e18; const long long MOD = (long long)1e9 + 7; string yn(bool f){return f?"Yes":"No";} string YN(bool f){return f?"YES":"NO";} #define MAX signed main(){ cin.tie(0); ios::sync_with_stdio(false); cout<<fixed<<setprecision(10); int N; vector<int> Y; int ans = 0; int mi = 0, con = 0; cin>>N; Y.resize(N); for(int i = 0; i < N; i++){ cin>>Y[i]; } sort(Y.begin(), Y.end()); ans += Y[1] - Y[0]; mi = Y[1]; con = 2; for(int i = 1; i < N-1; i++){ if(i == N-2) ans += Y[N-1] - Y[i]; else { if(con == 1){ ans += Y[i] - mi; con++; } else { if(Y[i] - mi < Y[i+1] - Y[i]){ ans += Y[i] - mi; con++; } else { ans += Y[i+1] - Y[i]; mi = Y[i+1]; con = 0; } } } // cout<<mi<<" "<<ans<<endl; } cout<<ans<<endl; return 0; }