답안 #285029

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
285029 2020-08-28T09:08:06 Z Bill_00 쌀 창고 (IOI11_ricehub) C++14
0 / 100
1000 ms 640 KB
#include "ricehub.h"
#include <bits/stdc++.h>
using namespace std;
#define MAX_R  1000000

int besthub(int R, int L, int a[], long long B)
{
	int dp[100001];
	dp[0]=0;
	for(int i=1;i<R;i++){
		dp[i]=dp[i-1]+a[i]-a[0];
	}
	int l=1,r=R;
	while(l!=r){
		int mid=l+r>>1,flag=0;
		for(int i=mid-1;i<R;i++){
			int MID=i+i+1-mid>>1;
			int left=i+1-mid;
			int cost=dp[i]-dp[MID]-((i-MID)*(a[MID]-a[0]))+((a[MID]-a[left])*(MID-left+1)-(dp[MID]-dp[left]-(MID-left)*(a[left]-a[0])));
			if(cost<=B){
				flag++;
				break;
			}
		}
		if(flag==0) r=mid;
		else l=mid;
	}
	return l;
}

Compilation message

ricehub.cpp: In function 'int besthub(int, int, int*, long long int)':
ricehub.cpp:15:12: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   15 |   int mid=l+r>>1,flag=0;
      |           ~^~
ricehub.cpp:17:17: warning: suggest parentheses around '-' inside '>>' [-Wparentheses]
   17 |    int MID=i+i+1-mid>>1;
      |            ~~~~~^~~~
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1090 ms 256 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1088 ms 256 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1065 ms 384 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1096 ms 640 KB Time limit exceeded
2 Halted 0 ms 0 KB -