結果
問題 | No.2567 A_1 > A_2 > ... > A_N |
ユーザー |
![]() |
提出日時 | 2023-12-02 16:49:48 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 143 ms / 2,000 ms |
コード長 | 752 bytes |
コンパイル時間 | 1,764 ms |
コンパイル使用メモリ | 170,640 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-09-26 20:47:18 |
合計ジャッジ時間 | 4,332 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 16 |
ソースコード
#include<bits/stdc++.h> #define chmin(x,y) (x) = min((x),(y)) #define chmax(x,y) (x) = max((x),(y)) #define ld long double using namespace std; using ll = long long; const ll mod = 998244353; using Graph = vector<vector<int>>; const vector<int> dx = {1,0,-1,0}, dy = {0,1,0,-1}; int main(){ int T; cin >> T; while(T--){ ll N,X; cin >> N >> X; if(2 * X < (N+1) * N) cout << -1 << endl; else{ ll M = X - (N*(N+1))/2; ll Q = M / N, R = M % N; vector<ll> ans(N); for(int i = 1; i <= N; i++) ans[i-1] = Q + i; reverse(ans.begin(),ans.end()); for(int i = 0; i < R; i++) ans[i]++; for(int i = 0; i < N; i++){ if(i) cout << " "; cout << ans[i]; } cout << endl; } } }