結果
問題 | No.1619 Coccinellidae |
ユーザー |
![]() |
提出日時 | 2021-07-22 21:53:45 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 794 ms / 2,000 ms |
コード長 | 848 bytes |
コンパイル時間 | 3,835 ms |
コンパイル使用メモリ | 253,228 KB |
最終ジャッジ日時 | 2025-01-23 06:35:28 |
ジャッジサーバーID (参考情報) |
judge5 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 16 |
ソースコード
#include <stdio.h> #include <bits/stdc++.h> #include <atcoder/all> using namespace atcoder; using mint = modint998244353; using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf 1000000001 vector<long long> get(long long N,long long M){ vector<long long> ret(N); rep(i,N)ret[i] = i; long long nxt = N-1; rep(i,N){ if(M==0)break; if(nxt<=M){ ret.insert(ret.begin()+i,ret.back()); ret.pop_back(); M -= nxt; nxt--; } else{ ret.insert(ret.begin()+N- 1 - M,ret.back()); ret.pop_back(); M = 0; } } return ret; } int main(){ long long N,M,K; cin>>N>>M>>K; vector<long long> num(N); rep(i,N){ num[i] = i; M -= i; } num.back() += M; vector<long long> ret = get(N,K); rep(i,ret.size()){ ret[i] = num[ret[i]]; } rep(i,N){ printf("%lld\n",ret[i]); } return 0; }