結果
問題 | No.250 atetubouのzetubou |
ユーザー |
![]() |
提出日時 | 2019-02-18 22:01:43 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 60 ms / 5,000 ms |
コード長 | 1,090 bytes |
コンパイル時間 | 1,354 ms |
コンパイル使用メモリ | 158,404 KB |
実行使用メモリ | 73,568 KB |
最終ジャッジ日時 | 2024-10-08 09:31:19 |
合計ジャッジ時間 | 3,598 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 20 |
ソースコード
#include<cstdio> #include<bits/stdc++.h> typedef long long int ll; #define REP(i, n) for(int i = 0; i < (n); i++) #define FOR_IN(i, a, b) for(int i = (a); i < (b); i++) #define BETWEEN(x, a, b) ((x) >= (a) && (x) <= (b)) #define BIT(b, i) (((b) >> (i)) & 1) #define LOG_F 1 #define LOG(...) if(LOG_F) fprintf(stderr, __VA_ARGS__) using namespace std; ll pow(int x, int n){ return n == 0 ? 1 : x * pow(x, n - 1); } /* q d1 x1 t1 AC ZETUBOU */ const ll INF = pow(10,18) ; int q; ll comb[3001][3001]; void create_comb_table(){ int n = 3000; REP(i,n+1){ comb[i][0] = 1; comb[i][i] = 1; } REP(i,n){ REP(j,i){ if(comb[i][j+1] >= INF || comb[i][j] >= INF) comb[i+1][j+1] = INF; else comb[i+1][j+1] = comb[i][j+1] + comb[i][j]; if(comb[i+1][j+1] > INF) comb[i+1][j+1] = INF; } } } int main(){ create_comb_table(); cin>>q; REP(k,q){ int d,x; ll t,T; cin>>d>>x>>t; T=comb[x+d-1][d-1]; if(T>t){ cout<<"ZETUBOU\n"; } else { cout<<"AC\n"; } LOG("T=%lld\n",T); } return 0; }