제출 #1001092

#제출 시각아이디문제언어결과실행 시간메모리
1001092Ausp3xHorses (IOI15_horses)C++17
34 / 100
1552 ms12116 KiB
// 人外有人,天外有天 // author: Ausp3x #include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include "horses.h" typedef long long lng; typedef unsigned int uint; typedef unsigned long long ulng; using namespace std; using namespace __gnu_pbds; int const INF32 = 0x3f3f3f3f; lng const INF64 = 0x3f3f3f3f3f3f3f3f; int const MOD = 1000000007; int N; vector<int> X, Y; int getMaxValue() { lng horses = 1; for (int i = 0; i < N; i++) { (horses *= X[i]) %= MOD; bool chk = true; lng cur = 1; for (int j = i + 1; j < N; j++) { if (cur == INF32 || cur * X[j] > INF32) { chk = false; break; } cur *= X[j]; if (cur * Y[j] > Y[i]) { chk = false; break; } } if (chk) { return horses * Y[i] % MOD; } } return -1; } 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]; } return getMaxValue(); } int updateX(int pos, int val) { X[pos] = val; return getMaxValue(); } int updateY(int pos, int val) { Y[pos] = val; return getMaxValue(); } // int main() { // ios_base::sync_with_stdio(false); // cin.tie(NULL); // cout << init(3, {2, 1, 3}, {3, 4, 1}) << endl; // cout << updateY(1, 2) << endl; // return 0; // }

컴파일 시 표준 에러 (stderr) 메시지

horses.cpp: In function 'int getMaxValue()':
horses.cpp:42:34: warning: conversion from 'lng' {aka 'long long int'} to 'int' may change value [-Wconversion]
   42 |             return horses * Y[i] % MOD;
      |                    ~~~~~~~~~~~~~~^~~~~
#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...