結果
| 問題 | 
                            No.115 遠足のおやつ
                             | 
                    
| コンテスト | |
| ユーザー | 
                             ikeyanabcd894
                         | 
                    
| 提出日時 | 2019-04-27 12:57:22 | 
| 言語 | C++11(廃止可能性あり)  (gcc 13.3.0)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 2 ms / 5,000 ms | 
| コード長 | 452 bytes | 
| コンパイル時間 | 1,702 ms | 
| コンパイル使用メモリ | 157,088 KB | 
| 実行使用メモリ | 5,248 KB | 
| 最終ジャッジ日時 | 2025-01-03 01:42:40 | 
| 合計ジャッジ時間 | 3,104 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge4 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 40 | 
ソースコード
#include <bits/stdc++.h>
using namespace std;
int N,D,K;
int main(){
  cin >> N >> D >> K;
  int s=0,S=0;
  for(int i=1;i<=K;i++)s+=i;
  for(int i=0;i<K;i++)S+=N-i;
  if(D<s || S<D){cout << -1 << endl; return 0;}
  vector<int> ans(11);
  for(int i=0;i<K;i++)ans[i]=i+1;
  int q=D-s;
  for(int i=K-1;i>=0;i--){
    int j=i;
    while(q>0 && j<N-(K-i)){j++; q--;}
    ans[i]=j+1;
    if(q==0){break;}
  }
  for(int i=0;i<K;i++){cout << ans[i] << " ";}
}
            
            
            
        
            
ikeyanabcd894