Submission #834210

#TimeUsernameProblemLanguageResultExecution timeMemory
834210EllinorHorses (IOI15_horses)C++14
17 / 100
30 ms13012 KiB
//#include<bits/stdc++.h> #include <iostream> #include <vector> #include <queue> #include <string> #include <cmath> #include <cstdlib> #include <set> #include <iomanip> #include <limits> #include <map> #include <assert.h> #include <algorithm> #include <list> #include <iterator> #include <fstream> #include <random> #include <unordered_map> #include <array> using namespace std; #define rep(i,a,b) for (int i = (a); i < b; i++) #define pb push_back #define all(x) x.begin(), x.end() typedef long long ll; typedef pair<int, int> pii; ll MOD = 1e9 + 7; // !? // fast #include "horses.h" // ! int n; vector<ll> x, y; int init(int N, int X[], int Y[]) { n = N; x.assign(N, 0); y.assign(N, 0); rep(i,0,N) { x[i] = X[i]; y[i] = Y[i]; } // ll ch = 1, sind; for (int i = n - 1; i >= 0; i--) { ch *= x[i]; if (ch > 1e9) { sind = i + 1; break; } if (i == 0) sind = 0; } ll ans = 0; ll horses = 1, tmp; rep(i,sind,n) { // start on sind -1" horses *= x[i]; tmp = horses * y[i]; ans = max(ans, tmp); } ans = ans % MOD; return ans; } int updateX(int pos, int val) { x[pos] = val; // ll ch = 1, sind; for (int i = n - 1; i >= 0; i--) { ch *= x[i]; if (ch > 1e9) { sind = i + 1; break; } if (i == 0) sind = 0; } ll ans = 0; ll horses = 1, tmp; rep(i,sind,n) { // start on sind -1" horses *= x[i]; tmp = horses * y[i]; ans = max(ans, tmp); } ans = ans % MOD; return ans; } int updateY(int pos, int val) { y[pos] = val; // ll ch = 1, sind; for (int i = n - 1; i >= 0; i--) { ch *= x[i]; if (ch > 1e9) { sind = i + 1; break; } if (i == 0) sind = 0; } ll ans = 0; ll horses = 1, tmp; rep(i,sind,n) { // start on sind -1" horses *= x[i]; tmp = horses * y[i]; ans = max(ans, tmp); } ans = ans % MOD; return ans; } // 17p, M = 0

Compilation message (stderr)

horses.cpp: In function 'int init(int, int*, int*)':
horses.cpp:53:13: warning: conversion from 'll' {aka 'long long int'} to 'double' may change value [-Wconversion]
   53 |         if (ch > 1e9) {
      |             ^~
horses.cpp:62:11: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
   22 | #define rep(i,a,b) for (int i = (a); i < b; i++)
      |                                 ~~~
......
   62 |     rep(i,sind,n) { // start on sind -1"
horses.cpp:22:34: note: in definition of macro 'rep'
   22 | #define rep(i,a,b) for (int i = (a); i < b; i++)
      |                                  ^
horses.cpp:69:9: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
   69 |  return ans;
      |         ^~~
horses.cpp: In function 'int updateX(int, int)':
horses.cpp:82:13: warning: conversion from 'll' {aka 'long long int'} to 'double' may change value [-Wconversion]
   82 |         if (ch > 1e9) {
      |             ^~
horses.cpp:91:11: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
   22 | #define rep(i,a,b) for (int i = (a); i < b; i++)
      |                                 ~~~
......
   91 |     rep(i,sind,n) { // start on sind -1"
horses.cpp:22:34: note: in definition of macro 'rep'
   22 | #define rep(i,a,b) for (int i = (a); i < b; i++)
      |                                  ^
horses.cpp:98:9: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
   98 |  return ans;
      |         ^~~
horses.cpp: In function 'int updateY(int, int)':
horses.cpp:111:13: warning: conversion from 'll' {aka 'long long int'} to 'double' may change value [-Wconversion]
  111 |         if (ch > 1e9) {
      |             ^~
horses.cpp:120:11: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
   22 | #define rep(i,a,b) for (int i = (a); i < b; i++)
      |                                 ~~~
......
  120 |     rep(i,sind,n) { // start on sind -1"
horses.cpp:22:34: note: in definition of macro 'rep'
   22 | #define rep(i,a,b) for (int i = (a); i < b; i++)
      |                                  ^
horses.cpp:127:9: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
  127 |  return ans;
      |         ^~~
#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...