到底哪错了
查看原帖
到底哪错了
1774623
tanghaoyue0612楼主2025/7/2 17:38
#include<bits/stdc++.h>
using namespace std;
long long n,z;
struct guai
{
	int shang;
	int xue;
};
guai a[100005],jia[100005],jian[100005];
bool mp(guai a,guai b)
{
	return a.xue>b.xue;
}
bool cmp(guai a,guai b)
{
	return a.shang<b.shang;
}
int main()
{
	int n,z,b=0,c=0;
	cin>>n>>z;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i].shang>>a[i].xue;
		if(a[i].shang<a[i].xue)
		{
           b++;
		   jia[b].shang=a[i].shang;
		   jia[b].xue=a[i].xue;
        }
		if(a[i].shang>a[i].xue)
		{
            c++;
		   jian[c].shang=a[i].shang;
		   jian[c].xue=a[i].xue;
		}
	}
	sort(jia+1,jia+1+b,cmp);
	sort(jian+1,jian+1+c,mp);
    bool flag=true;
	for(int i=1;i<=b;i++)
	{
		z=z-jia[i].shang;
		if(z>0)
		{
          z+=jia[i].xue;
		}
		else
		{
			flag=false;
		}
	}
	for(int i=1;i<=c;i++)
	{
       z=z-jian[i].shang;
	   if(z>0)
	   {
		  z+=jian[i].xue;
	   }
	   else
	   {
		flag=false;
	   }
	}
    if(flag)
	{
		cout<<"TAK";
	}
	else{
		cout<<"NIE";
	}
}
2025/7/2 17:38
加载中...