답안 #65063

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
65063 2018-08-06T14:00:55 Z theknife2001 게임 (IOI13_game) C++17
27 / 100
1558 ms 67852 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=1e5+55;
long long tree[N*4][20];
int n,m;

void init(int R, int C)
{
    n=R;
    m=C;
}

void up(int l , int r , int node , int ind , long long val , int lev)
{
    if(l==r&&l==ind)
    {
        tree[node][lev]=val;
        return ;
    }
    if(ind<=mid)
        up(l,mid,node*2,ind,val,lev);
    else
        up(mid+1,r,node*2+1,ind,val,lev);
    tree[node][lev]=gcd2(tree[node*2][lev],tree[node*2+1][lev]);
}

long long query(int l , int r , int node , int x , int y , int lev)
{
    if(x<=l&&r<=y)
        return tree[node][lev];
    if(l>y||r<x)
        return 0;
    long long temp1=0;
    long long temp2=0;
    temp1=query(l,mid,node*2,x,y,lev);
    temp2=query(mid+1,r,node*2+1,x,y,lev);
    return gcd2(temp1,temp2);

}


void update(int P, int Q, long long K)
{
    up(0,m-1,1,Q,K,P);
}

long long calculate(int P, int Q, int U, int V)
{
    if(P>U)
        swap(P,U);
    if(Q>V)
        swap(Q,V);
    long long ans=0;
    for(int i=P;i<=U;i++)
    {
        ans=gcd2(ans,query(0,m-1,1,Q,V,i));
    }
    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;
      ^~~
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 248 KB Output is correct
2 Incorrect 3 ms 356 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 400 KB Output is correct
2 Correct 2 ms 400 KB Output is correct
3 Correct 3 ms 420 KB Output is correct
4 Correct 1558 ms 44272 KB Output is correct
5 Correct 1000 ms 48744 KB Output is correct
6 Correct 1306 ms 50420 KB Output is correct
7 Correct 1502 ms 54864 KB Output is correct
8 Correct 1080 ms 54864 KB Output is correct
9 Correct 1419 ms 63396 KB Output is correct
10 Correct 1215 ms 67852 KB Output is correct
11 Correct 2 ms 67852 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 67852 KB Output is correct
2 Incorrect 4 ms 67852 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 67852 KB Output is correct
2 Incorrect 3 ms 67852 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 67852 KB Output is correct
2 Incorrect 3 ms 67852 KB Output isn't correct
3 Halted 0 ms 0 KB -