UVA - 11491 Erasing and Winning

来源:互联网 发布:淘宝买汽车吗 编辑:程序博客网 时间:2024/05/17 03:48

//

在满足要求的情况下找已经选出的答案。

//

#include<iostream>#include<cstdio>#include<string>using namespace std;const int maxn = 1e5 + 5;int vis[maxn];int main(){    int n, d;    while(scanf("%d%d", &n, &d) == 2 && (n||d))    {        getchar();        int k = n-d;        int cnt = 0;        for(int i = 0; i < n; ++i)        {            int  kk  = getchar() - '0';            while(cnt && cnt+n-i > k && kk > vis[cnt-1]) --cnt;            if(cnt < k) vis[cnt++] = kk;        }        for(int i = 0; i < k; ++i) cout << vis[i];        cout << "\n";    }    return 0;}


0 0
原创粉丝点击