社区讨论

求hack

P11432[COCI 2024/2025 #2] 流明 / Blistavost参与者 3已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@mhjurtau
此快照首次捕获于
2025/11/04 08:50
4 个月前
此快照最后确认于
2025/11/04 08:50
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=5e3+10;
int n, maxn, minn = 0x7f7f7f7f7f7f7f7f, flag, max_to1, max_to2;
struct node{
    int l,r,t,to1,to2;
}a[N];
bool cmp(node a,node b){
    return a.t < b.t;
}
signed main(){
    ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
    cin >> n;
    for (int i = 1; i <= n; i++){
        cin >> a[i].l >> a[i].r >> a[i].t;
        a[i].to1 = max(0ll, a[i].t - a[i].l), max_to1 = max(max_to1, a[i].to1);
        if(maxn<a[i].r)
            maxn = max(maxn, a[i].r), flag = i;
    }
    int ans = max(0ll, a[flag].t - a[flag].l);
    if(ans==max_to1){
        cout << ans + maxn << "\n";
        return 0;
    }
    ans = max(0ll, a[flag].t - a[flag].r);
    for (int i = 1; i <= n; i++)
        if(a[i].to1>ans)
            minn = min(minn, a[i].l);
    for (int i = 1; i <= n; i++)
        a[i].to2 = max(0ll, a[i].t - ans - maxn - (maxn - a[i].r)), max_to2 = max(max_to2, a[i].to2);
    cout << min(max_to1 + maxn, ans + maxn + max_to2 + maxn - minn) << "\n";
    return 0;
}

回复

4 条回复,欢迎继续交流。

正在加载回复...