結果
問題 | No.1619 Coccinellidae |
ユーザー |
|
提出日時 | 2021-07-22 22:36:06 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 126 ms / 2,000 ms |
コード長 | 1,068 bytes |
コンパイル時間 | 1,849 ms |
コンパイル使用メモリ | 196,304 KB |
最終ジャッジ日時 | 2025-01-23 07:05:47 |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 16 |
ソースコード
#include<bits/stdc++.h> using namespace std; using ll = long long int; using ld = long double; const ll MAX = 5000000000000000000; const ld PI = 3.14159265358979; const ll MOD = 0;//2024948111; ld dotorad(ld K){return PI * K / 180.0;} ld radtodo(ld K){return K * 180.0 / PI;} mt19937 mt; void randinit(){srand((unsigned)time(NULL));mt = mt19937(rand());} int main(){ ll N,M,K; cin >> N >> M >> K; ll m = M - ((N - 1) * (N - 2)) / 2; vector<ll> ans(N); ll p = 0,i; for(i = 1;i <= N - 1;i++){ if(p + i > K){ i--; break; } p += i; } if(i == N){ cout << m << endl; for(ll i = N - 2;i >= 0;i--) cout << i << endl; return 0; } ll q = i + 1,j = 0; for(j = 0;j <= i;j++){ if(q == i + 1 - (K - p)) q--; ans[j] = q; q--; } ans[i + 1] = i + 1 - (K - p); for(j = i + 2;j < N;j++){ ans[j] = j; } for(ll i = 0;i < N;i++){ if(ans[i] != N - 1) cout << ans[i] << endl; else cout << m << endl; } }