Submission #234250

#TimeUsernameProblemLanguageResultExecution timeMemory
234250dannber_BRHorses (IOI15_horses)C++14
0 / 100
1577 ms8200 KiB
#include "horses.h" #include <bits/stdc++.h> using namespace std; const short HORSE = 0; const short CASH = 1; const long long MODUL = pow(10,9) + 7; int actual_X[999999] = { }; int actual_Y[999999] = { }; int actual_N = 0; int an_update(int horses,int X[],int Y[],int pos,int N) { int maxY = 0; for(int i = 0;i < N;i++) { if(maxY < Y[i] && i == pos) { maxY = Y[i]; } } if (maxY != Y[pos]) { return 0; } else { int answ = ((horses - 1)* maxY) % MODUL; return answ; } } int init(int N, int X[], int Y[]) { int horses_cash[2] = {1,0}; for(int i = 0;i < N;i++) { actual_X[i] = X[i]; actual_Y[i] = Y[i]; } actual_N = N; for(int i = 0;i < N;i++) { horses_cash[HORSE] *= X[i]; if(horses_cash[HORSE] > 1) { int mmry = horses_cash[CASH]; horses_cash[CASH] += an_update(horses_cash[HORSE],X,Y,i,N); if(horses_cash[CASH] != mmry) { horses_cash[HORSE] = 1; } } } return horses_cash[CASH]; } int updateX(int pos, int val) { actual_X[pos] = val; int horses_cash[2] = {1,0}; for(int i = 0;i < actual_N;i++) { horses_cash[HORSE] *= actual_X[i]; if(horses_cash[HORSE] > 1) { int mmry = horses_cash[CASH]; horses_cash[CASH] += an_update(horses_cash[HORSE],actual_X,actual_Y,i,actual_N); if(horses_cash[CASH] != mmry) { horses_cash[HORSE] = 1; } } } return horses_cash[CASH]; } int updateY(int pos, int val) { actual_Y[pos] = val; int horses_cash[2] = {1,0}; for(int i = 0;i < actual_N;i++) { horses_cash[HORSE] *= actual_X[i]; if(horses_cash[HORSE] > 1) { int mmry = horses_cash[CASH]; horses_cash[CASH] += an_update(horses_cash[HORSE],actual_X,actual_Y,i,actual_N); if(horses_cash[CASH] != mmry) { horses_cash[HORSE] = 1; } } } return horses_cash[CASH]; }

Compilation message (stderr)

horses.cpp: In function 'int an_update(int, int*, int*, int, int)':
horses.cpp:14:32: warning: unused parameter 'X' [-Wunused-parameter]
 int an_update(int horses,int X[],int Y[],int pos,int N)
                                ^
#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...