社区讨论
90分求助
P3957[NOIP 2017 普及组] 跳房子参与者 3已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @mi7yxa3v
- 此快照首次捕获于
- 2025/11/21 05:53 4 个月前
- 此快照最后确认于
- 2025/11/21 05:53 4 个月前
CPP
#pragma GCC optimize(2)//硬核优化,可以忽略
#pragma GCC optimize(3)
#pragma GCC optimize("Ofast")
%:pragma GCC optimize("Ofast")
%:pragma GCC optimize("inline")
%:pragma GCC optimize("-fgcse")
%:pragma GCC optimize("-fgcse-lm")
%:pragma GCC optimize("-fipa-sra")
%:pragma GCC optimize("-ftree-pre")
%:pragma GCC optimize("-ftree-vrp")
%:pragma GCC optimize("-fpeephole2")
%:pragma GCC optimize("-ffast-math")
%:pragma GCC optimize("-fsched-spec")
%:pragma GCC optimize("unroll-loops")
%:pragma GCC optimize("-falign-jumps")
%:pragma GCC optimize("-falign-loops")
%:pragma GCC optimize("-falign-labels")
%:pragma GCC optimize("-fdevirtualize")
%:pragma GCC optimize("-fcaller-saves")
%:pragma GCC optimize("-fcrossjumping")
%:pragma GCC optimize("-fthread-jumps")
%:pragma GCC optimize("-funroll-loops")
%:pragma GCC optimize("-fwhole-program")
%:pragma GCC optimize("-freorder-blocks")
%:pragma GCC optimize("-fschedule-insns")
%:pragma GCC optimize("inline-functions")
%:pragma GCC optimize("-ftree-tail-merge")
%:pragma GCC optimize("-fschedule-insns2")
%:pragma GCC optimize("-fstrict-aliasing")
%:pragma GCC optimize("-fstrict-overflow")
%:pragma GCC optimize("-falign-functions")
%:pragma GCC optimize("-fcse-skip-blocks")
%:pragma GCC optimize("-fcse-follow-jumps")
%:pragma GCC optimize("-fsched-interblock")
%:pragma GCC optimize("-fpartial-inlining")
%:pragma GCC optimize("no-stack-protector")
%:pragma GCC optimize("-freorder-functions")
%:pragma GCC optimize("-findirect-inlining")
%:pragma GCC optimize("-fhoist-adjacent-loads")
%:pragma GCC optimize("-frerun-cse-after-loop")
%:pragma GCC optimize("inline-small-functions")
%:pragma GCC optimize("-finline-small-functions")
%:pragma GCC optimize("-ftree-switch-conversion")
%:pragma GCC optimize("-foptimize-sibling-calls")
%:pragma GCC optimize("-fexpensive-optimizations")
%:pragma GCC optimize("-funsafe-loop-optimizations")
%:pragma GCC optimize("inline-functions-called-once")
%:pragma GCC optimize("-fdelete-null-pointer-checks")
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,d,k,g,l,r,f[500010],v[500010],s[500010],maxs,ans=-1;
int rj(int g){
for(int i=1;i<=n;i++)s[i]=-1e9;s[0]=0;
for(int i=0;i<n;i++)
for(int j=i+1;j<=n;j++){
if(f[j]-f[i]>d+g)break;
if(f[j]-f[i]<max(d-g,(ll)1))continue;
s[j]=max(s[j],s[i]+v[j]);
if(s[j]>=k)return 1;
}
return 0;
}
int main(){
cin>>n>>d>>k;
for(int i=1;i<=n;i++){cin>>f[i]>>v[i];r=max(r,f[i]-f[i-1]);}
r=r+d;
while(l<=r){
g=(l+r)/2;
if(rj(g)==1){
ans=g;r=g-1;
}
else l=g+1;
}
cout<<ans<<endl;
return 0;
}
回复
共 5 条回复,欢迎继续交流。
正在加载回复...