Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
38701 Chasing2575 【J】T1 C++ 解答错误 0 61 MS 1820 KB 619 2025-10-18 16:58:59

Tests(0/25):


#include <bits/stdc++.h> using namespace std; long long n,c,x[100005],y[100005],minx=LONG_LONG_MAX,miny=LONG_LONG_MAX; bool check(long long mid){ long long sum1=0,sum2=0; for(int i=1;i<=n;i++) sum1+=(x[i]-mid)*(y[i]-(c-mid)); for(int i=1;i<=n;i++) sum2+=(x[i]-mid+1)*(y[i]-(c-mid-1)); return sum1<sum2; } int main(){ cin>>n>>c; for(int i=1;i<=n;i++){ cin>>x[i]; minx=min(minx,x[i]); } for(int i=1;i<=n;i++){ cin>>y[i]; miny=min(miny,y[i]); } long long a=min(minx,miny),steps=1<<31; for(;steps>=1;steps/=2){ if(check(a+steps)) a+=steps; } cout<<a<<' '<<c-a; return 0; }


测评信息: