답안 #620939

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
620939 2022-08-03T10:32:15 Z A_D 말 (IOI15_horses) C++14
17 / 100
19 ms 15144 KB
#include "horses.h"

#include <bits/stdc++.h>

using namespace std;

const int N=2e5+100;
long long x[N];
long long y[N];
const long long MOD=1e9+7;
int n;

long long me=1;


long long po(long long b,long long p)
{
    if(p==0)return 1;
    if(p==1)return b;
    if(p%2){
        return (b*po(b,p-1))%MOD;
    }
    long long r=po(b,p/2);
    return (r*r)%MOD;
}

long long modinv(int v)
{
    return po(v,MOD-2);
}



int getans()
{
//    cout<<me
    long long ret=0,sum=1,sum2=1,val=0;
    for(int i=max(n-31,(int)0);i<n;i++){
        sum*=x[i];
        sum%=MOD;
        sum2*=x[i];
        if(sum2*y[i]>val){
            ret=(sum*y[i])%MOD;
            sum2=1;
            val=y[i];
        }
    }
    ret*=me;
    ret%=MOD;
    return (int)ret;
}


int init(int N, int X[], int Y[]){
    n=N;
    for(int i=0;i<n;i++){
        x[i]=X[i];
        y[i]=Y[i];

    }
    for(int i=0;i<n-31;i++){
        me*=x[i];
        me%=MOD;
    }
    return getans();

}

int updateX(int pos, int val) {
    if(pos<n-31){
        me*=modinv(x[pos]);
        me*=MOD;
        x[pos]=val;
        me*=x[pos];
        me*=MOD;

    }
    else{
        x[pos]=val;
    }

    return getans();

}

int updateY(int pos, int val) {
	y[pos]=val;

    return getans();
}

Compilation message

horses.cpp: In function 'int init(int, int*, int*)':
horses.cpp:54:14: warning: declaration of 'N' shadows a global declaration [-Wshadow]
   54 | int init(int N, int X[], int Y[]){
      |          ~~~~^
horses.cpp:7:11: note: shadowed declaration is here
    7 | const int N=2e5+100;
      |           ^
horses.cpp: In function 'int updateX(int, int)':
horses.cpp:71:25: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   71 |         me*=modinv(x[pos]);
      |                    ~~~~~^
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 0 ms 312 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 1 ms 212 KB Output is correct
10 Correct 0 ms 212 KB Output is correct
11 Correct 0 ms 308 KB Output is correct
12 Correct 0 ms 212 KB Output is correct
13 Correct 0 ms 212 KB Output is correct
14 Correct 0 ms 212 KB Output is correct
15 Correct 0 ms 212 KB Output is correct
16 Correct 0 ms 308 KB Output is correct
17 Correct 0 ms 212 KB Output is correct
18 Correct 0 ms 312 KB Output is correct
19 Correct 0 ms 212 KB Output is correct
20 Correct 1 ms 212 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 0 ms 304 KB Output is correct
7 Correct 1 ms 340 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 1 ms 212 KB Output is correct
11 Correct 1 ms 212 KB Output is correct
12 Correct 0 ms 304 KB Output is correct
13 Correct 1 ms 212 KB Output is correct
14 Correct 1 ms 212 KB Output is correct
15 Correct 0 ms 212 KB Output is correct
16 Correct 0 ms 212 KB Output is correct
17 Correct 0 ms 212 KB Output is correct
18 Correct 1 ms 212 KB Output is correct
19 Correct 1 ms 212 KB Output is correct
20 Correct 1 ms 212 KB Output is correct
21 Correct 0 ms 308 KB Output is correct
22 Correct 1 ms 212 KB Output is correct
23 Incorrect 1 ms 340 KB Output isn't correct
24 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 19 ms 15144 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 0 ms 308 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 1 ms 304 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 0 ms 312 KB Output is correct
11 Correct 0 ms 308 KB Output is correct
12 Correct 1 ms 212 KB Output is correct
13 Correct 0 ms 212 KB Output is correct
14 Correct 1 ms 212 KB Output is correct
15 Correct 1 ms 212 KB Output is correct
16 Correct 1 ms 212 KB Output is correct
17 Correct 1 ms 212 KB Output is correct
18 Correct 1 ms 212 KB Output is correct
19 Correct 0 ms 212 KB Output is correct
20 Correct 1 ms 308 KB Output is correct
21 Correct 0 ms 212 KB Output is correct
22 Correct 1 ms 212 KB Output is correct
23 Incorrect 1 ms 340 KB Output isn't correct
24 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 0 ms 312 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 1 ms 304 KB Output is correct
10 Correct 0 ms 212 KB Output is correct
11 Correct 0 ms 212 KB Output is correct
12 Correct 0 ms 312 KB Output is correct
13 Correct 1 ms 212 KB Output is correct
14 Correct 0 ms 212 KB Output is correct
15 Correct 1 ms 212 KB Output is correct
16 Correct 1 ms 212 KB Output is correct
17 Correct 1 ms 212 KB Output is correct
18 Correct 1 ms 212 KB Output is correct
19 Correct 1 ms 212 KB Output is correct
20 Correct 1 ms 212 KB Output is correct
21 Correct 0 ms 308 KB Output is correct
22 Correct 0 ms 212 KB Output is correct
23 Incorrect 1 ms 316 KB Output isn't correct
24 Halted 0 ms 0 KB -