how C?
  • 板块学术版
  • 楼主Steve_xh
  • 当前回复8
  • 已保存回复9
  • 发布时间2024/1/27 21:55
  • 上次更新2024/1/28 08:11:21
查看原帖
how C?
639198
Steve_xh楼主2024/1/27 21:55

rt,由于本人太菜,创造出本人第一次没通过的abc的C题qwq

自认为思路是没错的

#include<bits/stdc++.h>
using namespace std;
int n,q[15],a[15],b[15],l=0,r=-1;
bool check(int m){
	for(int _=0;_<=m;_++){
		int x=_,y=m-_;
		bool tmp=true;
		for(int i=1;i<=n;i++)
			if(q[i]<a[i]*x+b[i]*y){
				tmp=false;
				break;
			}
		if(tmp)
			return true;
	}
	return false;
}
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
		scanf("%d",q+i),r=max(r,q[i]);
	for(int i=1;i<=n;i++)
		scanf("%d",a+i);
	for(int i=1;i<=n;i++)
		scanf("%d",b+i);
	while(l<r){
		int mid=(l+r)>>1;
		if(check(mid))
			l=mid+1;
		else
			r=mid-1;
	}
	printf("%d",l-!check(l));
	return 0;
}
2024/1/27 21:55
加载中...