删数?删数!
Time Limit: 1000 MS | Memory Limit: 65536 KB |
Total Submissions: 68 | Accepted: 7 |
Description
一个集合有如下元素:1是集合元素;如果x是集合的元素,则2*x+1,4*x+5也是集合的元素,取出此集合中最小的K个元素,按从小到大的顺序组合成一个多位数,现要求从中删除M个数位上的数字,
使得剩下的数字最大,请输出删除后的多位数字。
注:不存在所有数被删除的情况
使得剩下的数字最大,请输出删除后的多位数字。
注:不存在所有数被删除的情况
Input
多组数据。
每行两个整数k和m,1<=k,m<=30000
每行两个整数k和m,1<=k,m<=30000
Output
每组数据输出删除后的多位数字。
Sample Input
5 4
5 5
5 5
Sample Output
95
9
9
Source
cy学姐
#include
#include
#include
#include
#include
#include
using namespace std;
typedef long long int ll;
int main()
{
// char str[100];
int k,m;
while(cin>>k)
{
cin>>m;
priority_queue, greater > Q;
ll start=1;
string str="1";
for(int i=0;is;
s.push_back(str[0]);
int j=1;
int m1=m;
while(m>0)
{
while(str[j]>s[s.size()-1]&&m>0&&s.size()){
s.pop_back();
m--;
}
if(j