注册 登录
编程论坛 C++教室

sicily1134积木分发

娄文康 发布于 2012-03-25 11:35, 417 次点击
为什么和例子的输出结果一样,但就是过不了呢(wrong answer)?求指教,代码如下
#include <iostream>
#include <stdlib.h>
using namespace std;  
int main(int argc, char *argv[])
 {
   long int t,n,s;  
   long int a[10001],b[10001];  
   cin>>n>>s;   
   while(n!=0&&s!=0)   
   {      
       long int i,j;     
       for(i=0;i<n;i++)      
       { cin>>b[i]>>a[i]; }   
       for(i=n-1;i>0;i--)      
       {         
           for(j=0;j<i;j++)        
           {               
                if(a[j]>a[i])           
                {
                   t=a[i];
                   a[i]=a[j];
                   a[j]=t;
                   t=b[i];
                   b[i]=b[j];
                   b[j]=t;
               }
            }
        }  
       for(i=0;i<n;i++)
       {      
            if(s<a[i])
            {
               cout<<s<<" "<<a[i]<<endl;
               break;
             }   
             s = s +b[i];
        }     
        if(s<a[n-1])
        cout<<"NO"<<endl;   
        else
        cout<<"YES"<<endl;
       cin>>n>>s;
   }      
   return 0;
 }

[ 本帖最后由 娄文康 于 2012-3-25 12:52 编辑 ]
3 回复
#2
nicum2012-03-25 12:05
看着都费劲
#3
娄文康2012-03-25 12:53
不好意思,发的时候有点急
#4
nicum2012-03-25 14:08
你看是不是有什么空格或回车键多了
1