Submission #1053786

#TimeUsernameProblemLanguageResultExecution timeMemory
1053786OspleiHorses (IOI15_horses)C++17
0 / 100
592 ms524288 KiB
#include "horses.h"
#include <bits/stdc++.h>

using namespace std;

typedef int ll;
typedef pair <ll, ll> LL;

#define F first
#define S second

ll mod = 1e9 + 7;

int init(int N, int X[], int Y[]) {
  //pos ans  tengo
  queue <pair <ll, LL>> q;
  ll ans = 0;

  q.push({-1, {0, 1}});

  while (!q.empty()) {
    pair <ll, LL> act;
    act = q.front();
    ans = max(ans, act.S.F);
    
    q.pop();

    if (act.F + 1 >= N) continue;

    q.push({act.F + 1, {act.S.F % mod, (act.S.S * X[act.F + 1]) % mod}});
    q.push({act.F + 1, {((act.S.F % mod) + (((((act.S.S * X[act.F + 1]) % mod) - 1) * Y[act.F + 1]) % mod)) % mod, 1}});
    q.push({act.F + 1, {((act.S.F % mod) + ((((act.S.S * X[act.F + 1]) % mod) * Y[act.F + 1]) % mod)) % mod, 0}});
  }

	return ans % mod;
}

int updateX(int pos, int val) {	
	return 0;
}

int updateY(int pos, int val) {
	return 0;
}

Compilation message (stderr)

horses.cpp: In function 'int updateX(int, int)':
horses.cpp:38:17: warning: unused parameter 'pos' [-Wunused-parameter]
   38 | int updateX(int pos, int val) {
      |             ~~~~^~~
horses.cpp:38:26: warning: unused parameter 'val' [-Wunused-parameter]
   38 | int updateX(int pos, int val) {
      |                      ~~~~^~~
horses.cpp: In function 'int updateY(int, int)':
horses.cpp:42:17: warning: unused parameter 'pos' [-Wunused-parameter]
   42 | int updateY(int pos, int val) {
      |             ~~~~^~~
horses.cpp:42:26: warning: unused parameter 'val' [-Wunused-parameter]
   42 | int updateY(int pos, int val) {
      |                      ~~~~^~~
#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...