Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
38705 Chasing2575 【J】T1 C++ 通过 100 66 MS 1816 KB 905 2025-10-18 18:55:44

Tests(25/25):


#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; } cout<<l<<' '<<c-l; // fclose(stdin); // fclose(stdout); return 0; }


测评信息: