求助各位大佬
查看原帖
求助各位大佬
853022
shadow_031020楼主2022/11/8 17:12

萌新刚入门 没用一些简化函数 写的比较麻烦 但是不知道哪错了 还有超时的情况 请各位大佬帮忙看看

#include<iostream>
#include<algorithm>
using namespace std;

void dec(int o[],int p,int k)
{
   for (int i = p; p < k; p++)
   o[p] = o[p + 1];
}

int main()
{
   std::ios::sync_with_stdio(false);
   int random[10000];
   for (int i = 0; i < 10000; i++)
   	random[i] = 0;
    
   int k = 0;
   int sum = 0;
   int max = 0;
   cin >> k;
   int different[1001];
   for (int i = 0; i < k; i++)
   	cin >> random[i];

   for (int i = 0; i < k; i++)
   	different[random[i]] = 1;

   for (int i = 0; i < 1001; i++)
   	if (different[i] == 1)sum++;

   cout << sum << endl;
   
   for (int i = 0; i < k; i++)
   {
   	for (int m = i + 1; m < k; m++)
   	{
   		if (random[i] == random[m] && random[m] != 0)
   		{
   			dec(&random[i], i, k);
   			i--;
   		}
   	}
   }
   sort(random, random + sum);
   for (int i = 0; i < sum; i++)
   	cout << random[i] << " " ;

   return 0;
}
2022/11/8 17:12
加载中...