結果
問題 | No.115 遠足のおやつ |
ユーザー |
![]() |
提出日時 | 2014-12-28 23:58:55 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 757 bytes |
コンパイル時間 | 906 ms |
コンパイル使用メモリ | 73,456 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-06-12 23:59:17 |
合計ジャッジ時間 | 1,614 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 39 WA * 1 |
ソースコード
#include <iostream> #include <string> #include <vector> #include <cmath> #include <algorithm> #include <cstdlib> #include <ctime> #include <cstdio> #include <functional> #include <set> #include <cstring> using namespace std; int main() { int n,d,k; cin>>n>>d>>k; vector<int> res(k); int num=0; for(int i=0;i<k;i++){ res[i]=i+1; num+=i+1; } if(num>d){cout<<-1<<endl;} else{ int rest=d-num; if(res[k-1]+rest<=n){res[k-1]+=rest; rest=0;} else {res[k-1]=n; rest-=n-k;} for(int i=k-2;i>=0 && rest!=0;i--){ if(res[i]+rest<=res[i+1]){ res[i]+=rest; rest=0;} else{rest-=res[i+1]-res[i]-1; res[i]=res[i+1]-1; } } if(rest!=0) cout<<-1<<endl; else{ for(int i=0;i<k;i++) cout<<res[i]<<" "; cout<<endl; } } return 0; }