답안 #620935

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
620935 2022-08-03T10:30:35 Z A_D 말 (IOI15_horses) C++14
0 / 100
24 ms 15832 KB
#include "horses.h"

#include <bits/stdc++.h>

using namespace std;

const int N=2e5+100;
long long x[N];
long long y[N];
int suf[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()
{
    long long ret=0,sum=1,sum2=1,val=0;
    for(int i=n-31;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 Incorrect 1 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 356 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 24 ms 15832 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -