CodeForces 230A 貪心+排序

做的時候第一次還很蠢的累加了==

其實就是排個序啦,如果前面的龍打不贏,後面的更不可能了,如果打贏了前面的龍,纔會得到更多加成去打後面的~

記得當時這道題跪了這跪那,結果似乎做了兩個小時了。。

於是,訓練賽。。

編碼能力不忍直視!一定要加油!

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
struct dra
{
    int x,y;
};
dra p[1010];

bool cmp(const dra &d1, const dra &d2)
{
	if(d1.x<d2.x) return true;
	else
	{
	    if(d1.x==d2.x)
	    {
	        if(d1.y>d2.y)return true;
	    }
	}
	return false;

}

int main()
{
    int s,n;
    int flag[1010],cnt;
    while(scanf("%d%d",&s,&n)==2)
    {
        cnt=0;
        for(int i=0;i<n;i++)
        {
            scanf("%d%d",&p[i].x,&p[i].y);
        }

        sort(p,p+n,cmp);

        for(int i=0;i<n;i++)
        {
            if(s<=p[i].x)
            {
                printf("NO\n");
                cnt++;
                break;
            }

            else{
                s=s+p[i].y;
            }
        }
        if(cnt==0)printf("YES\n");
    }
    return 0;
}


/*
55 4
12 34
12 55
56 3
2 3

*/





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章