2 条题解
-
6
//给残疾杨哥抄的
#include<bits/stdc++.h>
using namespace std;
struct ppppp
{
int width; int height; int fit;} block[999];
int main ()
{ int n,i,j,l;
scanf("%d",&n); for(i=0; i<n; i++) { scanf("%d%d",&block[i].width,&block[i].height); block[i].fit=block[i].width; } int maxxx=block[0].height; for(i=1; i<n; i++) if(block[i].height>maxxx) maxxx=block[i].height; int m; int flag=1; for(i=0; i<n; i++) { flag=1; for(j=i-1; j>=0&&flag==1; j--) { if(block[j].height<=block[i].height) { block[i].fit=block[j].width+block[i].fit; } else flag=0; } flag=1; for(j=i+1; j<n&&flag==1; j++) { if(block[j].height<=block[i].height) { block[i].fit=block[j].width+block[i].fit; } else flag=0; } } scanf("%d",&m); int minn=1000; int x; flag=0; for(i=0; i<n; i++) { if(block[i].fit>=m) { x=block[i].height+m; if(x<minn) minn=x; flag=1; } } if(flag==1) printf("%d\n",minn); else printf("%d\n",maxxx+m); return 0;}
-
-2
#include<iostream> using namespace std; int w[100],h[100]; int n , a ,t=0,ans = 1e9+7; int main() { cin>>n; for(int i=1; i<=n; i++) cin>>w[i]>>h[i]; cin>>a; for(int i=1;i<=n;i++) { t=w[i]; for(int j =i-1;j>=1;j--) if(h[j] <=h[i]) t+=w[j]; else break; for(int j =i+1;j<=n;j++) if(h[j]<=h[i]) t+=w[j]; else break; if(ans>h[i]&& t>=a) ans = h[i]; } cout<<ans+a; } 下面太复杂了
- 1
信息
- ID
- 355
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- (无)
- 递交数
- 219
- 已通过
- 49
- 上传者