NOI plus 2025 游寄
Yishui_LightSky · · 生活·游记
T1:
100pts::
#include<bits/stdc++.h>
#include<vector>
using namespace std;
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
long long n,m,cost2=1<<30;
cin>>n>>m;
vector<long long>x(0);
x.reserve(n);
for(long long i=0;i<n;i++){
long long a,b;
cin>>a>>b;
cost2=min(a+b,cost2);
x.push_back(a);
}
sort(x.begin(),x.end());
long long sell=m/cost2;
long long res=2*sell;
long long ans=0;
m=m%cost2;
for(long long i=0;i<n;i++){
if(x[i]>cost2)break;
ans=max(ans,res);
while(sell>0&&x[i]>m){
res-=2;
m+=cost2;
}
m-=x[i];
res++;
}
ans=max(ans,res);
cout<<ans<<endl;
return 0;
}
可能赛时代码:
#include<bits/stdc++.h>
#include<vector>
using namespace std;
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
long long n,m,cost2=1<<30;
cin>>n>>m;
vector<long long>x(0);
x.reserve(n);
for(long long i=0;i<n;i++){
long long a,b;
cin>>a>>b;
cost2=min(a+b,cost2);
x.push_back(a);
}
sort(x.begin(),x.end());
long long sell=m/cost2;
long long res=2*sell;
long long ans=0;
m=m%cost2;
for(long long i=0;i<n;i++){
ans=max(ans,res);
while(sell>0&&x[i]>m){
res-=2;
m+=cost2;
}
m-=x[i];
res++;
}
cout<<ans<<endl;
return 0;
}
死于忘记剪枝,少一次更新。 我第一次noip,现高二,赛时代码更差,goal<=90pts.
我的现状请移步:CSP-S2025