hdu1051,我在测试时可以通过,但提交就WR,各位大侠帮忙看下,我哪忽略了?
题目大意:给n根木棍的长度和重量。根据要求求出制作木棍的最短时间。建立第一个木棍需要1分钟,若是接着要制作的木棍重量和长度都比此木棍长就不需要建立的时间,若是没有,则再需要建立时间。求时间最小为多少。
#include<iostream>
using namespace std;
struct node{
int l;
int w;
};
int main()
{
struct node v[5050],t;
int i,j,k,s[5050],T,n,max,min;
cin>>T;
while(T--)
{
cin>>n;
for(i=0;i<n;i++)
cin>>v[i].l>>v[i].w;
for(i=0;i<n-1;i++)
for(j=0;j<n-i-1;j++) //L升序
{
if(v[j+1].l<v[j].l)
{
t=v[j+1];
v[j+1]=v[j];
v[j]=t;
}
else if(v[j+1].l==v[j].l)
{
if(v[j+1].w<v[j].w)
{
t=v[j+1];
v[j+1]=v[j];
v[j]=t;
}
}
}
for(i=0;i<n-1;i++)
{
s[i]=0;
for(j=i+1;j<n;j++)
{
if(v[j].w>=v[i].w)
{
s[i]++;
}
}
}
max=s[0];
for(i=0;i<n-1;i++)
if(s[i]>max)
max=s[i];
cout<<n-max<<endl;
}
}