제출 #310052

#제출 시각아이디문제언어결과실행 시간메모리
310052tengiz05말 (IOI15_horses)C++17
34 / 100
1586 ms16000 KiB
#include "horses.h"
#include <bits/stdc++.h>
typedef long double ld;
typedef long long ll;
using namespace std;
int n;
const int NN = 5e5+5;
const ll mod = 1e9+7;
ll a[NN];
ll b[NN];
int init(int N, int X[], int Y[]) {
	n = N;
	for(int i=0;i<n;i++)a[i] = X[i];
	for(int i=0;i<n;i++)b[i] = Y[i];
	ll cnt = 1, ans = 0;
	ld d=0.;
	ld mx=-1;
	for(int i=0;i<n;i++){
		cnt *= a[i];
		cnt %= mod;
		d = d+log2((ld)a[i]);
		if(mx < d+log2(b[i])){
			mx = d+log2(b[i]);
			ans = ((ll)cnt*b[i])%mod;
		}
	}
	return ans;
}

int updateX(int pos, int val) {	
	a[pos] = val;
	ll cnt = 1, ans = 0;
	ld d=0.;
	ld mx=-1;
	for(int i=0;i<n;i++){
		cnt *= a[i];
		cnt %= mod;
		d = d+log2((ld)a[i]);
		if(mx < d+log2(b[i])){
			mx = d+log2(b[i]);
			ans = ((ll)cnt*b[i])%mod;
		}
	}
	
	return ans%mod;
}

int updateY(int pos, int val) {
	b[pos] = val;
	ll cnt = 1, ans = 0;
	ld d=0.;
	ld mx=-1;
	for(int i=0;i<n;i++){
		cnt *= a[i];
		cnt %= mod;
		d = d+log2((ld)a[i]);
		if(mx < d+log2(b[i])){
			mx = d+log2(b[i]);
			ans = ((ll)cnt*b[i])%mod;
		}
	}
	
	return ans%mod;
}

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

horses.cpp: In function 'int init(int, int*, int*)':
horses.cpp:27:9: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
   27 |  return ans;
      |         ^~~
horses.cpp: In function 'int updateX(int, int)':
horses.cpp:45:12: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
   45 |  return ans%mod;
      |         ~~~^~~~
horses.cpp: In function 'int updateY(int, int)':
horses.cpp:63:12: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
   63 |  return ans%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...