0
点赞
收藏
分享

微信扫一扫

acwing 120

刘员外__ 2022-01-09 阅读 74

#include <bits/stdc++.h>
#define IOS ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0)
#define _zero(a) memset(a, 0, sizeof(a))
#define endl '\n'
#define int long long
#define mp make_pair
#define PII pair<int, int>
#define x first
#define y second
#define all(a) (a).begin(), (a).end()
#define rall(a) (a).rbegin(), (a).rend()
#define PII pair<int, int>
typedef long long ll;
typedef double dd;
typedef long double ld;

using namespace std;

const int inf = 1e10;
const int M = 998244353;
const ld pi = atan2(0, -1);//arctan(y/x);
const ld eps = 1e-8;

const int maxn = 2e5 + 100;
int s[maxn], e[maxn], d[maxn];
int n;

int judge(int x){
    if(x == 0) return 0;
    int res = 0;
    for(int i = 1; i <= n; i++){
        if(s[i] <= x)
            res += (min(e[i], x) - s[i]) / d[i] + 1;
    }
    return res;
}

void solve()
{
    int l = 1, r = 1 << 31 - 1;
    while(l < r){
        int mid = (l + r) >> 1;
        if(judge(mid) % 2) r = mid; else l = mid + 1;
    }
    int ans = judge(l) - judge(l - 1);
    if(ans % 2){
        cout << l << " " << ans << endl;
    }
    else cout << "There's no weakness." << endl;
    
}

signed main()
{
    IOS;
    int tt;
    cin >> tt;
    while(tt--){
        cin >> n;
        for(int i = 1; i <= n; i++)
            cin >> s[i] >> e[i] >> d[i];
            solve();
    }
    return 0;
}
 

举报

相关推荐

0 条评论