Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
38704 Chasing2575 【J】T1 C++ 编译错误 0 0 MS 0 KB 875 2025-10-18 18:54:01

Tests(0/0):


#include<bits/stdc++.h> using namespace std; int n; long long c,x[100005],y[100005],ans=0,sum=0,sum2=0,minn=LONG_LONG_MAX; bool check(long long mid){ sum=0,sum2=0; for(int i=1;i<=n;i++){ sum+=(x[i]-mid)*(y[i]-(c-mid)); sum2+=(x[i]-(mid+1))*(y[i]-(c-mid-1)); } return (sum<sum2); } bool check2(long long mid){ sum=0,sum2=0; for(int i=1;i<=n;i++){ sum+=(x[i]-mid)*(y[i]-(c-mid)); sum2+=(x[i]-(mid+1))*(y[i]-(c-mid-1)); } return (sum>sum2); } int main(){ freopen("max.in","r",stdin); freopen("max.out","w",stdout); cin>>n>>c; for(int i=1;i<=n;i++){ cin>>x[i]; minn=min(x[i],minn); } for(int i=1;i<=n;i++){ cin>>y[i]; minn=min(y[i],minn); } long long l=minn-1,t=1; while(check(l)){ l+=t; t*=2; } for(int i=t;i>=1;i/=2){ if(check2(l-i)) l-=i; } if(check(l+i)){ cout<<l<<' '<<c-l; return 0; }


测评信息: