結果
問題 | No.2828 Remainder Game |
ユーザー | annyeong1 |
提出日時 | 2024-08-02 23:19:08 |
言語 | C++17 (gcc 12.3.0 + boost 1.83.0) |
結果 |
AC
|
実行時間 | 69 ms / 2,000 ms |
コード長 | 1,887 bytes |
コンパイル時間 | 2,157 ms |
コンパイル使用メモリ | 202,560 KB |
実行使用メモリ | 25,208 KB |
平均クエリ数 | 56.00 |
最終ジャッジ日時 | 2024-08-02 23:19:13 |
合計ジャッジ時間 | 4,947 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 69 ms
25,196 KB |
testcase_01 | AC | 66 ms
25,196 KB |
testcase_02 | AC | 68 ms
24,940 KB |
testcase_03 | AC | 66 ms
25,196 KB |
testcase_04 | AC | 67 ms
25,196 KB |
testcase_05 | AC | 65 ms
24,824 KB |
testcase_06 | AC | 65 ms
25,208 KB |
testcase_07 | AC | 65 ms
24,824 KB |
testcase_08 | AC | 67 ms
25,208 KB |
testcase_09 | AC | 68 ms
24,568 KB |
testcase_10 | AC | 67 ms
24,952 KB |
testcase_11 | AC | 68 ms
24,824 KB |
testcase_12 | AC | 68 ms
24,568 KB |
testcase_13 | AC | 68 ms
24,952 KB |
testcase_14 | AC | 65 ms
24,824 KB |
testcase_15 | AC | 67 ms
24,952 KB |
testcase_16 | AC | 66 ms
24,568 KB |
testcase_17 | AC | 65 ms
24,568 KB |
testcase_18 | AC | 65 ms
24,824 KB |
testcase_19 | AC | 66 ms
25,196 KB |
ソースコード
#include<bits/stdc++.h> //#pragma GCC optimize("O3") // optimization //#pragma GCC optimize("Ofast") // optimization //#pragma GCC optimize("unroll-loops") // optimization using namespace std; #define i32 signed #define int long long // CP #define i64 long long #define endl '\n' #define elif else if #define fi first #define se second #define pb push_back #define p32 pair<i32,i32> #define p64 pair<i64,i64> #define f2(i,x) for((i)=0;(i)<(x);(i)++) #define f2b(i,x) for((i)=(x)-1;(i)>=0;(i)--) #define f3(i,f,t) for((i)=(f);(i)<(t);(i)++) #define fall(x) (x).begin(), (x).end() #define sort1(x) sort(fall(x)) #define rev(x) reverse(fall(x)) #define fast ios::sync_with_stdio(0);cin.tie(0);cout.tie(0) #define fl fflush(stdout) #define nl cout<<endl;fflush(stdout) i64 gcd(i64 a, i64 b){if(a<b){a=a^b;b=a^b;a=a^b;} return b==0?a:gcd(b,a%b);} i64 lcm(i64 a, i64 b){return a/gcd(a,b)*b;} i64 expm(i64 a, i64 b, i64 m){i64 r=1;while(b){if(b&1)r=r*a%m;a=a*a%m;b>>=1;}return r%m;} i64 expm(i64 a, i64 b){i64 r=1,m=1e9+7;while(b){if(b&1)r=r*a%m;a=a*a%m;b>>=1;}return r%m;} i64 minv(i64 a, i64 m){return expm(a,m-2,m);} i64 ncrm(i64 n, i64 r, i64 m){i64 i,j,k; i64 out=1; f3(i,1,n+1){out*=i;out%=m;}f3(i,1,r+1){out*=minv(i,m);out%=m;}f3(i,1,n-r+1){out*=minv(i,m);out%=m;}return out%m;} int n,m,k,a[300010],b[300010]; char c[300010]; void f(){ int i,j,l; cin>>n; int x[]={4,3,5,7,13}; int y[5]={0}; int z[5]={0}; for(i=0;i<5;i++)for(j=0;j<x[i]-1;j++){ cout<<x[i]<<' '<<1<<endl<<j<<endl; fl; cin>>l; y[i]+=l*j; z[i]+=l; } for(i=0;i<5;i++)y[i]+=(x[i]-1)*(5-z[i]); for(i=0;i<5;i++)y[i]%=x[i]; for(i=1;i<5001;i++){ for(j=0;j<5;j++)if(i%x[j]!=y[j])break; if(j==5){ cout<<"0 1\n"<<i<<endl; fl; return; } } } i32 main(){ // fast; // int tc; cin>>tc; // while(tc--)f(); f(); return 0; }