2 条题解

  • 0
    @ 2025-3-30 10:42:00

    #include #include #define N 210000 using namespace std; struct node { int x,y,z; }a[N];int n; inline int mymin(int x,int y){return x<y?x:y;} int check(long long x) { int ans=0; for(int i=1;i<=n;i++) { if(a[i].x<=x)ans+=(mymin(a[i].z,x)-a[i].x)/a[i].y+1; } return ans; } int main() { int T; scanf("%d",&T); while(T--) { scanf("%d",&n); for(int i=1;i<=n;i++)scanf("%d%d%d",&a[i].x,&a[i].z,&a[i].y); long long l=0,r=2147483647,mid,ans=-1;

    	while(l<=r)
    	{
    		mid=(l+r)>>1;
    		if(check(mid)&1)r=mid-1,ans=mid;
    		else  l=mid+1;
    	}
    	if(ans>=0)printf("%lld %d\n",ans,check(ans)-check(ans-1));
    	else  printf("There's no weakness.\n");
    }
    return  0;
    

    } //s/fs/f/fs/fs/fs/f/s/fs/f/sgfwqresvdffegrgqasdfv2t4b5bftvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

    信息

    ID
    31
    时间
    1000ms
    内存
    128MiB
    难度
    1
    标签
    递交数
    90
    已通过
    77
    上传者