注意看,这个TJ是红色的
查看原帖
注意看,这个TJ是红色的
1162195
TJ_WY楼主2024/12/15 22:48

P114514[TJOI 民国113年-114年#78]红色的TJ

题目描述

近日,在光头故居所在的省中某位市民的家中,一位ID叫TJ_WY的洛谷用户正在做题

他插入U盘,启动了MAC高端笔记本,打开了文件资源管理器

他瞅准了一个没写完的CPP文件,然后自信满满的打开了前入后出<<深入浅出》

他要开始学习二分答案了,理所当然的开始完成他选中的这道克罗地亚题目

但是肯定的是他的程序一定是WA的,所以他红温了

请你帮他修改程序指出错误


输入格式

一串带有空格和换行符>的字符串


输出格式

11行为错因,由中文字和字符构成

22行及以下为使用MARKDOWN格式的带有空格和换行符的字符串

输入输出样例

就你还想看样例?这可是TJOI!

说明/提示

请各位DALAO读入程序时使用鼠标选中复制粘贴和脑门上的两个摄像头读入

测试数据

共计11

#include<bits/stdc++.h>
using namespace std;
int m,s,h,mid,mx,l,r,otto;
int tree[1000010];

bool ck(int h){
  long long ans;
  for(int i=0;i<m;i++){
  	if(tree[i]>h){
  		ans+=tree[i]-h;
  	}
  }
  return ans>=m;
}

int hf_ans(){
  int as;
	while(l<=r){
		mid=l+(r-l)/2;
		if(ck(mid))l=mid+1,as=mid;
		else r=mid-1;
  }
  return as;
}

int main()
{
  cin>>m>>s;
  for(int i=0;i<m;i++)cin>>tree[i],mx=max(mx,tree[i]);
  l=0,r=mx;
  otto=hf_ans();
  cout<<otto;
   return 0;
}

本题采用手动评测和意念评测,若获得TJ认定的70及以上分数,将会获得呼吸空气的权利和关注

2024/12/15 22:48
加载中...