結果
問題 |
No.411 昇順昇順ソート
|
ユーザー |
![]() |
提出日時 | 2016-08-12 23:16:11 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 985 bytes |
コンパイル時間 | 1,253 ms |
コンパイル使用メモリ | 157,656 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-07 15:47:04 |
合計ジャッジ時間 | 2,242 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 27 WA * 3 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define REP(i,n) for(ll i=0; i<(ll)(n); i++) #define FOR(i,n,m) for (ll i=n; i<(ll)(m); i++) #define pb push_back #define INF 1000000007LL #define all(a) (a).begin(),(a).end() typedef long long ll; typedef pair<int,int> p; int dy[4]={-1,1,0,0}; int dx[4]={0,0,1,-1}; int N , K; ll C[40][40]; ll gcnt = 1; int main(){ for(int i = 0; i <= 25; i ++) { C[i][0] = 1; for(int j = 1; j <= i; j ++) { C[i][j] = C[i-1][j-1] + C[i-1][j]; } } cin >> N >> K; if (K==1){ ll cnt = 0; // iより小さい奴を選ぶ FOR(i,3,N+1) { // 0個 ~ i-3個 REP(j,i-2) { cnt += C[i-3][j]; } } cout << cnt << endl; return 0; } ll cnt = 1; REP(i,N-K) { //自分より大きいものをi+1個選ぶ cnt += C[N-K][i+1]; } cout << cnt << endl; return 0; }