造题inginging

造个题

 

模拟+sort+贪心

蚕丛及鱼凫,造题何茫然

 

 

U74939 小歪被抓走了

 

 

 

   

 代码(不知道对不对哦)

#include<bits/stdc++.h>

using namespace std;

const int maxn=1e7+8;
int n,q,m,flag;
int mon[maxn];
bool vis[maxn];
int ans=0;

void printff()
{
    if(ans>=0)
    {
        printf("yes\n");
        printf("%d\n",ans);
    } 
    else
    {
        printf("no\n");
        ans=abs(ans);
        printf("%d\n",ans);
    }
}

bool cmp(int x,int y)
{
    return x>y;
}

int main()
{
    scanf("%d%d",&n,&q);
    for(int i=1;i<=n;i++)
      scanf("%d",&mon[i]);
    
    sort(mon+1,mon+n+1,cmp);
    int t1=1,t2=n;
    
    
    for(int i=1;i<=q;i++)
    {
        scanf("%d",&flag);
        if(flag==1) 
        {
            vis[t1]=1;
            ans+=mon[t1];
            t1++;
            if(vis[t1])
            {
                printff();
                return 0;
            } 
        }
        if(flag==2)
        {
            scanf("%d",&m);
            vis[t2]=1;
            ans-=m;
            t2--;
            if(vis[t2])
            {
                printff();
                return 0;
            } 
        }
    }

    if(!vis[t1]&&!vis[t2])
    {
        for(int i=t1;i<=t2;i++)
        {
            ans+=mon[i];
        }
    }
    
    printff();
 
    return 0;
}

 

posted @ 2019-06-26 08:16  晔子  阅读(178)  评论(0)    收藏  举报