提交时间:2024-05-25 14:55:31

运行 ID: 148808

#include<bits/stdc++.h> using namespace std; struct book{ int w,h; }; book a[114514]; int ceng[1145]; int lt; int cnt; int hh; int main(){ int n,s; cin>>n>>s; for(int i=0;i<n;i++){ cin>>a[i].w>>a[i].h; } for(int i=0;i<n;i++){ if(ceng[hh]==0){ ceng[hh]+=a[i].w; lt=a[i].h; } else if(ceng[hh]+a[i].w<=s){ if(a[i].h>lt&&a[i+1].h!=a[i].h&&ceng[hh]+a[i].w+a[i+1].w<=s){ ceng[i]+=a[i].w; lt=a[i].h; } else if(a[i].h<=lt){ ceng[i]+=a[i].w; } else{ cnt+=lt; hh++; } } else{ hh++; cnt+=lt; } } cout<<cnt; return 0; }