답안 #707687

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
707687 2023-03-09T18:29:02 Z MODDI 말 (IOI15_horses) C++14
컴파일 오류
0 ms 0 KB
//#include "horses.h"
#include <bits/stdc++.h>
#define ll long long
#define pb push_back
#define vi vector<int>
#define vl vector<ll>
using namespace std;
const int mod = 1e9 + 7;
vi X, Y;
ll mul(ll a, ll b){
	return (a * b) % mod;
}
int N;
int init(int n, int x[], int y[]){
	N = n;
	for(int i = 0; i < n; i++)
		X.pb(x[i]);
	for(int i = 0; i < n; i++)
		Y.pb(y[i]);

	ll ans = 0, mult = 1, pref=1, last = 0;
	for(int i = 0; i < N; i++){
		pref *= X[i];
		mult = mul(mult, X[i]);
		mult %= mod;
		ll cur_sell = mul(mult, Y[i]);
		cur_sell %= mod;
		if(cur_sell < 0)	assert(false);
		if(pref * Y[i] > last){
			ans = mult * Y[i] % mod;
			pref = 1;
			last = y[i];
		}
	}
	if(ans <= 0)	assert(false);
	return ans;
}
int updateX(int pos, int val){
	X[pos] = val*1ll;
	ll ans = 0, mult = 1, pref=1, last = 0;
	for(int i = 0; i < N; i++){
		pref *= X[i];
		mult = mul(mult, X[i]);
		mult %= mod;
		ll cur_sell = mul(mult, Y[i]);
		cur_sell %= mod;
		if(cur_sell < 0)	assert(false);
		if(pref * Y[i] > last){
			ans = mult * Y[i] % mod;
			pref = 1;
			last = y[i];
		}
	}
	if(ans <= 0)	assert(false);
	return ans;
}
int updateY(int pos, int val){
	Y[pos] = val*1LL;
	ll ans = 0, mult = 1, pref=1, last = 0;
	for(int i = 0; i < N; i++){
		pref *= X[i];
		mult = mul(mult, X[i]);
		mult %= mod;
		ll cur_sell = mul(mult, Y[i]);
		cur_sell %= mod;
		if(cur_sell < 0)	assert(false);
		if(pref * Y[i] > last){
			ans = mult * Y[i] % mod;
			pref = 1;
			last = y[i];
		}
	}
	if(ans <= 0)	assert(false);
	return ans;
}

Compilation message

horses.cpp: In function 'int init(int, int*, int*)':
horses.cpp:36:9: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   36 |  return ans;
      |         ^~~
horses.cpp: In function 'int updateX(int, int)':
horses.cpp:51:11: error: 'y' was not declared in this scope
   51 |    last = y[i];
      |           ^
horses.cpp:55:9: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   55 |  return ans;
      |         ^~~
horses.cpp: In function 'int updateY(int, int)':
horses.cpp:70:11: error: 'y' was not declared in this scope
   70 |    last = y[i];
      |           ^
horses.cpp:74:9: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   74 |  return ans;
      |         ^~~