BZOJ--1271-秦腾与教学评估

题目电波: BZOJ--1271-秦腾与教学评估

枚举点的位置 先判断一共有多少个人数 人数%2==0 说明不符合 

之后枚举点的位置 看左边人数是奇数还是偶数

#include<bits/stdc++.h>
using namespace std;
#define LL long long
#define maxn 200005
LL a[maxn],b[maxn],c[maxn];
int main(){
   int t;
   cin>>t;
   while(t--){
      int n;
      bool fa=0;
      cin>>n;
      LL r=0;
      LL sum=0;
      for(int j=1;j<=n;j++){
         scanf("%lld%lld%lld",&a[j],&b[j],&c[j]);
         sum+=1+(b[j]-a[j])/c[j];
         r=max(r,b[j]);
      }
      if(sum%2==0) fa=1;
      if(fa) printf("Poor QIN Teng:(\n");
      else{
        sum=0;
        LL l=1;
        LL mid;
        while(l<=r){
           LL ans=0;
           mid=1LL*(l+r)/2;
           for(int j=1;j<=n;j++){
              if(a[j]<=mid&&mid<=b[j]){
                 ans+=1+(mid-a[j])/c[j];
              }else if(mid>b[j]){
                 ans+=1+(b[j]-a[j])/c[j];
              }
           }
           if(ans%2){
               r=mid-1;
           }else{
               l=mid+1;
           }
        }
        for(int j=1;j<=n;j++){
            if(l>=a[j]&&l<=b[j]){
                if((l-a[j])%c[j]==0) sum++;
            }
        }
        printf("%lld %lld\n",l,sum);
      }
   }
}

 

全部评论

相关推荐

北京移动 网络AI工程师 传闻30w
点赞 评论 收藏
分享
12-10 19:11
重庆大学 Java
香梨想要offer:一样啊朋友,我也是被驳回了,真的挺让人无语的,为什么不一开始就挂了算了,内耗我这么多天。如果华为给每个人造成的内耗能汇聚起来,该是多大一股能量
点赞 评论 收藏
分享
在拧螺丝的代码渣渣很喜欢后仰跳投:卖课的,拉黑就行了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务