CF1076A Minimizing the String

题目大意:

    输入一个长度为n的字符串,去掉一或零个字符,输出去掉后字典序最小的串。(2≤n≤2⋅105)

思路:

  从前往后找到第一个比前一个字符小的字符,去掉前一个;若找不到去掉最后一个就好。

 1 #include<cstdio>
 2 #include<string>
 3 #include<iostream>
 4 
 5 using namespace std;
 6 
 7 int n;
 8 string ss,ans;
 9 
10 int main()
11 {
12     scanf("%d",&n);
13     cin>>ss;
14     int len=ss.length(),ans=len-1;
15     for(int i=1;i<len;i++)
16     {
17         if(ss[i]<ss[i-1])
18         {
19             ans=i-1;
20             break;
21         }
22     }
23     for(int i=0;i<ans;i++)
24     {
25         cout<<ss[i];
26     }
27     for(int i=ans+1;i<len;i++)
28     {
29         cout<<ss[i];
30     }
31     cout<<endl;
32     return 0;
33 }

 

//第一次cf,记录一下。

 

posted @ 2018-11-15 23:44  liqgnonqfu  阅读(192)  评论(0编辑  收藏  举报