Submission #68962

# Submission time Handle Problem Language Result Execution time Memory
68962 2018-08-19T11:20:40 Z theknife2001 Horses (IOI15_horses) C++17
17 / 100
1500 ms 16296 KB
#include "horses.h"
//#include "grader.cpp"
#include <bits/stdc++.h>

using namespace std;
const int N=5e5+55;
long long x[N];
long long y[N];
long long s[N];
int n;
int m=1e9+7;

int solve()
{

	int i=N-1;
    long long ret=0;
	long long temp=1;
	while(i--)
    {
        s[i]=x[i]*s[i+1];
        if(s[i]>1e9)
            break;
    }
    if(i==-1)
        i=0;
    int bestpos=n-1;
    for(;i<n;i++)
    {
        temp*=x[i];
        if(y[i]>s[i+1]&&y[i]*temp>ret)
        {
            ret=y[i]*temp;
            bestpos=i;
        }
    }
    ret=1;
    for(int i=0;i<=bestpos;i++)
    {
        ret*=x[i];
        ret%=m;
    }
    ret*=y[bestpos];
    return (ret%m);
}

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

int updateX(int pos, int val) {
    x[pos]=val;
    return solve();
}

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

Compilation message

horses.cpp: In function 'int solve()':
horses.cpp:22:15: warning: conversion to 'double' from 'long long int' may alter its value [-Wconversion]
         if(s[i]>1e9)
            ~~~^
horses.cpp:38:13: warning: declaration of 'i' shadows a previous local [-Wshadow]
     for(int i=0;i<=bestpos;i++)
             ^
horses.cpp:16:6: note: shadowed declaration is here
  int i=N-1;
      ^
horses.cpp:44:16: warning: conversion to 'int' from 'long long int' may alter its value [-Wconversion]
     return (ret%m);
            ~~~~^~~
horses.cpp: In function 'int init(int, int*, int*)':
horses.cpp:47:33: warning: declaration of 'N' shadows a global declaration [-Wshadow]
 int init(int N, int X[], int Y[])
                                 ^
horses.cpp:6:11: note: shadowed declaration is here
 const int N=5e5+55;
           ^
# Verdict Execution time Memory Grader output
1 Correct 7 ms 4216 KB Output is correct
2 Correct 7 ms 4324 KB Output is correct
3 Correct 7 ms 4384 KB Output is correct
4 Correct 7 ms 4384 KB Output is correct
5 Correct 9 ms 4440 KB Output is correct
6 Correct 6 ms 4440 KB Output is correct
7 Correct 8 ms 4440 KB Output is correct
8 Correct 7 ms 4440 KB Output is correct
9 Correct 6 ms 4440 KB Output is correct
10 Correct 7 ms 4440 KB Output is correct
11 Correct 6 ms 4512 KB Output is correct
12 Correct 7 ms 4512 KB Output is correct
13 Correct 7 ms 4512 KB Output is correct
14 Correct 8 ms 4588 KB Output is correct
15 Correct 7 ms 4588 KB Output is correct
16 Correct 7 ms 4588 KB Output is correct
17 Correct 7 ms 4588 KB Output is correct
18 Correct 7 ms 4588 KB Output is correct
19 Correct 7 ms 4588 KB Output is correct
20 Correct 8 ms 4588 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 9 ms 4588 KB Output is correct
2 Correct 6 ms 4588 KB Output is correct
3 Correct 9 ms 4588 KB Output is correct
4 Correct 8 ms 4588 KB Output is correct
5 Correct 6 ms 4588 KB Output is correct
6 Correct 7 ms 4588 KB Output is correct
7 Correct 8 ms 4588 KB Output is correct
8 Correct 6 ms 4588 KB Output is correct
9 Correct 6 ms 4588 KB Output is correct
10 Correct 7 ms 4588 KB Output is correct
11 Correct 6 ms 4588 KB Output is correct
12 Correct 7 ms 4588 KB Output is correct
13 Correct 7 ms 4588 KB Output is correct
14 Correct 8 ms 4588 KB Output is correct
15 Correct 6 ms 4588 KB Output is correct
16 Correct 7 ms 4588 KB Output is correct
17 Correct 7 ms 4588 KB Output is correct
18 Correct 6 ms 4588 KB Output is correct
19 Correct 7 ms 4588 KB Output is correct
20 Correct 7 ms 4588 KB Output is correct
21 Incorrect 10 ms 4588 KB Output isn't correct
22 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1569 ms 16296 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 8 ms 16296 KB Output is correct
2 Correct 7 ms 16296 KB Output is correct
3 Correct 7 ms 16296 KB Output is correct
4 Correct 8 ms 16296 KB Output is correct
5 Correct 7 ms 16296 KB Output is correct
6 Correct 8 ms 16296 KB Output is correct
7 Correct 7 ms 16296 KB Output is correct
8 Correct 7 ms 16296 KB Output is correct
9 Correct 8 ms 16296 KB Output is correct
10 Correct 8 ms 16296 KB Output is correct
11 Correct 6 ms 16296 KB Output is correct
12 Correct 7 ms 16296 KB Output is correct
13 Correct 7 ms 16296 KB Output is correct
14 Correct 8 ms 16296 KB Output is correct
15 Correct 7 ms 16296 KB Output is correct
16 Correct 9 ms 16296 KB Output is correct
17 Correct 7 ms 16296 KB Output is correct
18 Correct 7 ms 16296 KB Output is correct
19 Correct 7 ms 16296 KB Output is correct
20 Correct 6 ms 16296 KB Output is correct
21 Incorrect 10 ms 16296 KB Output isn't correct
22 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 6 ms 16296 KB Output is correct
2 Correct 8 ms 16296 KB Output is correct
3 Correct 7 ms 16296 KB Output is correct
4 Correct 8 ms 16296 KB Output is correct
5 Correct 7 ms 16296 KB Output is correct
6 Correct 7 ms 16296 KB Output is correct
7 Correct 6 ms 16296 KB Output is correct
8 Correct 7 ms 16296 KB Output is correct
9 Correct 7 ms 16296 KB Output is correct
10 Correct 6 ms 16296 KB Output is correct
11 Correct 7 ms 16296 KB Output is correct
12 Correct 7 ms 16296 KB Output is correct
13 Correct 7 ms 16296 KB Output is correct
14 Correct 6 ms 16296 KB Output is correct
15 Correct 7 ms 16296 KB Output is correct
16 Correct 7 ms 16296 KB Output is correct
17 Correct 7 ms 16296 KB Output is correct
18 Correct 8 ms 16296 KB Output is correct
19 Correct 8 ms 16296 KB Output is correct
20 Correct 8 ms 16296 KB Output is correct
21 Incorrect 10 ms 16296 KB Output isn't correct
22 Halted 0 ms 0 KB -