結果
問題 |
No.115 遠足のおやつ
|
ユーザー |
![]() |
提出日時 | 2016-10-31 11:03:14 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 664 bytes |
コンパイル時間 | 659 ms |
コンパイル使用メモリ | 63,740 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2025-01-03 01:18:01 |
合計ジャッジ時間 | 1,856 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 40 |
ソースコード
#include<iostream> #include<vector> using namespace std; int mySum(int m){ return (m)*(m+1)/2; } int main(){ int N, D, K; cin>> N>> D>> K; int mi=mySum(K); int ma=mySum(N)-mySum(N-K); if(!(mi<=D&&D<=ma)){ cout<< -1<< endl; return 0; } int s=0; vector<int> ans; for(int n=1; n<=N; n++){ int maS=mySum(N)-mySum(N-K+(ans.size()+1)); if(n+s+maS>=D){ ans.push_back(n); s+=n; } if(ans.size()==K) break; } for(int i=0; i<K; i++){ if(i>0){ cout<< " "; } cout<< ans[i]; } cout<< endl; return 0; }