想问一下佬哪里有问题TT没有输出信息
查看原帖
想问一下佬哪里有问题TT没有输出信息
1368422
dlgd_start楼主2024/8/11 17:30
#include<iostream>
using namespace std;
int main()
{
    int n,i,j,t=0;cin>>n;
    long long a[n],b[n],x=0,sum=0,cnt=0,max=-100,min=1000000000,g=0;
    for(i=0;i<n;i++)
    {
        cin>>a[i];
        b[i]=0;
    }
    for(i=1;i<n+2;i++)//第几次拿取
    {
        if(i%2==1)
        {
        for(j=0;j<n;j++)
        {
  
		   if(sum>=a[j]&&b[j]==0)
           {
              t=t+1;//记录满足条件的硬币个数 
             
           }
        }
        if(t!=0)
        {
            for(j=0;j<n;j++)
            {
			
			 if(a[j]>=max&&a[j]<=sum&&b[j]==0)//找最大值 
              {
                  x=j;
                  max=a[j];
              }
           } 
			sum=sum+a[x];
            b[x]=1;
            
        }
        
        if(t==0)
        {
            for(j=0;j<n;j++)
            {
                if(sum<a[j]&&a[j]<=min&&b[j]==0)
                {
                    min=a[j];
                    x=j;
                  
                }
            }
            sum=sum+a[x];
            b[x]=1;

        }

        max=-100;
        min=10000000; 
        t=0;

    }
    if(i%2==0)
        {
        for(j=0;j<n;j++)
        {
          		   
		    if(cnt>=a[j]&&b[j]==0)
           {
              t=t+1;//记录满足条件的硬币个数 
              if(a[j]>=max&&a[j]<=cnt&&b[j]==0)//找最大值 
              {
                  x=j;
                  max=a[j];
 
              }
              
           }
        }
        if(t!=0)
        {
            cnt=cnt+a[x];
            b[x]=1;
                       
        }
        
        if(t==0)
        {
			for(j=0;j<n;j++)
            {
                if(cnt<a[j]&&a[j]<=min&&b[j]==0)
                {
                    min=a[j];
                    x=j;
                    
                }
            }
            cnt=cnt+a[x];
            b[x]=1;
           
        }
        max=-100;
        min=10000000; 
        t=0;
	
    }
    for(j=0;j<n;j++)
    {
    	if(b[j]==0)
    	{
    		g=g+1;
		}
		    
	}
    if(g==0)
    {
    	cout<<sum<<" "<<cnt;
    	goto FLAG;
	}

    }
    FLAG:
    	return 0;
    

}
2024/8/11 17:30
加载中...