Submission #467025

#TimeUsernameProblemLanguageResultExecution timeMemory
467025Carmel_Ab1Horses (IOI15_horses)C++17
0 / 100
1582 ms14192 KiB
#include "horses.h"
#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long ll;
typedef vector<ll> vl;

//#include "grader.cpp"
 
 
 
vl x,y;
void chkmax(ll& ans,ll has,ll p){
    ll mod=1e9+7;
    if(log10(ans)>log10(has)+log10(p))
      	ans=((has%mod)*(p%mod))%mod;
      
}
int init(int n, int X[], int Y[]) {
    x.resize(n);
    y.resize(n);
    const ll mod=1e9+7;
    ll has=1,ans=0;
 
    for(int i=0; i<n; i++)
        x[i]=ll(1ll*X[i]),y[i]=ll(1ll*Y[i]);
    for(int i=0; i<n; i++){
        has*=x[i];
        chkmax(ans,has,y[i]);
        assert(ans<mod);
    }
    return int(ans);
}
 
int updateX(int pos, int val) {
    const ll mod=1e9+7;
    ll has=1,ans=0;
    x[pos]=ll(val);
    int n=x.size();
    for(int i=0; i<n; i++){
        has*=x[i];
        chkmax(ans,has,y[i]);
        assert(ans<mod);
    }
    return int(ans);
}
 
int updateY(int pos, int val) {
    const ll mod=1e9+7;
    ll has=1,ans=0;
    y[pos]=ll(val);
    int n=x.size();
    for(int i=0; i<n; i++){
        has*=x[i];
        chkmax(ans,has,y[i]);
        assert(ans<mod);
    }
    return int(ans);
}

Compilation message (stderr)

horses.cpp: In function 'int updateX(int, int)':
horses.cpp:38:17: warning: conversion from 'std::vector<long long unsigned int>::size_type' {aka 'long unsigned int'} to 'int' may change value [-Wconversion]
   38 |     int n=x.size();
      |           ~~~~~~^~
horses.cpp: In function 'int updateY(int, int)':
horses.cpp:51:17: warning: conversion from 'std::vector<long long unsigned int>::size_type' {aka 'long unsigned int'} to 'int' may change value [-Wconversion]
   51 |     int n=x.size();
      |           ~~~~~~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...