Submission #830379

#TimeUsernameProblemLanguageResultExecution timeMemory
830379Minindu206Horses (IOI15_horses)C++14
34 / 100
1594 ms12064 KiB
#include "horses.h" #include <bits/stdc++.h> #define ll long long using namespace std; int n; ll lim = (ll)1e9 + 10; vector<int> x, y; vector<ll> cr; ll ans = 0; // void rec(int ind, ll h, vector<ll> cur, ll cprof) // { // if (ind == n) // { // if (cprof > ans) // { // ans = cprof; // cr.clear(); // cr = cur; // } // return; // } // if (h == 0) // { // if (cprof > ans) // { // ans = cprof; // cr.clear(); // cr = cur; // } // return; // } // ll ch = h * x[ind]; // for (int i = 0; i <= ch; i++) // { // cur.push_back(i); // rec(ind + 1, ch - i, cur, cprof + y[ind] * i); // cur.pop_back(); // } // } ll prod() { ll cur = 0, h = 1; for (int i = 0; i < n; i++) { h = h * x[i]; cur = max(cur, h * y[i]); // cout << cur << " "; } return cur % ((ll)1e9 + 7); } ll prof() { ll cx = 1; ll cbest = y[0], loc = 0; for (int i = 1; i < n; i++) { cx = cx * x[i]; if (cx * y[i] > cbest) { cbest = y[i]; cx = 1; loc = i; } } cx = 1; for (int i = 0; i <= loc; i++) { cx = (cx * x[i]) % ((ll)1e9 + 7); } return (cx * y[loc]) % ((ll)1e9 + 7); } int init(int N, int X[], int Y[]) { n = N; x.resize(n), y.resize(n); for (int i = 0; i < n; i++) { x[i] = X[i]; y[i] = Y[i]; } cr.resize(n); return prof(); } int updateX(int pos, int val) { x[pos] = val; return prof(); } int updateY(int pos, int val) { y[pos] = val; return prof(); }

Compilation message (stderr)

horses.cpp: In function 'int init(int, int*, int*)':
horses.cpp:82:13: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   82 |  return prof();
      |         ~~~~^~
horses.cpp: In function 'int updateX(int, int)':
horses.cpp:88:13: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   88 |  return prof();
      |         ~~~~^~
horses.cpp: In function 'int updateY(int, int)':
horses.cpp:94:13: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   94 |  return prof();
      |         ~~~~^~
#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...