# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
65090 |
2018-08-06T15:02:39 Z |
theknife2001 |
Game (IOI13_game) |
C++17 |
|
6 ms |
1312 KB |
#include "game.h"
#include <bits/stdc++.h>
#define mid (l+r)/2
using namespace std;
long long gcd2(long long X, long long Y) {
long long tmp;
while (X != Y && Y != 0) {
tmp = X;
X = Y;
Y = tmp % Y;
}
return X;
}
const int N=2055;
long long sp[N][N][11];
int n,m;
void init(int R, int C)
{
n=R;
m=C;
}
void update(int P, int Q, long long K)
{
sp[P][Q][0]=K;
for(int i=1;i<=10;i++)
{
for(int j=0;j<m;j++)
{
sp[P][j][i]=gcd2(sp[P][j+(1<<(i-1))][i-1],sp[P][j][i-1]);
}
}
}
long long calculate(int P, int Q, int U, int V)
{
long long ans=0;
int l=0;
for(int i=10;i>=0;i--)
{
if((V-Q)&(1<<i))
{
l=i;
break;
}
}
for(int i=P;i<=U;i++)
{
ans=gcd2(sp[i][Q][l],gcd2(sp[i][V-(1<<l)][l],ans));
}
return ans;
}
Compilation message
grader.c: In function 'int main()':
grader.c:18:6: warning: variable 'res' set but not used [-Wunused-but-set-variable]
int res;
^~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
3 ms |
248 KB |
Output is correct |
2 |
Incorrect |
6 ms |
1124 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
3 ms |
1124 KB |
Output is correct |
2 |
Incorrect |
2 ms |
1124 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
3 ms |
1124 KB |
Output is correct |
2 |
Incorrect |
6 ms |
1252 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
1252 KB |
Output is correct |
2 |
Incorrect |
6 ms |
1312 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
1312 KB |
Output is correct |
2 |
Incorrect |
5 ms |
1312 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |