| 比赛 | 
    20251022赛前模拟1 | 
    评测结果 | 
    AAAAAAAAAAAATTTTTTTT | 
    | 题目名称 | 
    电梯 | 
    最终得分 | 
    60 | 
    | 用户昵称 | 
    梦那边的美好TE | 
    运行时间 | 
    16.122 s  | 
    | 代码语言 | 
    C++ | 
    内存使用 | 
    4.58 MiB  | 
    | 提交时间 | 
    2025-10-22 11:24:08 | 
显示代码纯文本
#include <iostream>
#include <cstdio>
#define int long long
using namespace std;
const int N=1e6+10;
int f[N],T[N],a[N],n,pre[N];
signed main(){
	freopen("a.in","r",stdin); 
	freopen("a.out","w",stdout); 
	scanf("%lld",&n);
	for(int i=1;i<=n;i++){
		scanf("%lld %lld",T+i,a+i);
	}
	T[n+1]=1e15+10;
	for(int i=1;i<=n;i++){
		int mx=a[i];f[i]=1e15;
		for(int j=i-1;j>=0;j--){
			if(f[j]<T[i+1])f[i]=min(f[i],max(f[j],T[i])+2*mx);
			mx=max(mx,a[j]);
		} 
	}
	printf("%lld\n",f[n]);
	return 0;
}