Răspuns :
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("frecventa1.in");
ofstream fout("frecventa1.out");
int i,v[100001],n,a[100001],sw,k,b[100001];
int main()
{
for(i=0;i<99;i++)
a[i]=0;
fin>>n;
for(i=1;i<=n&&a[v[i]]<=1;i++)
{ fin>>v[i];
a[v[i]]++; }
do
{
sw=0;
for(i=1;i<n;i++)
{
if(a[v[i]]<a[v[i+1]])
{
v[0]=v[i];
v[i]=v[i+1];
v[i+1]=v[0];
sw=1; }else if(a[v[i]]==a[v[i+1]])
{
if(v[i]>v[i+1])
{
v[0]=v[i];
v[i]=v[i+1];
v[i+1]=v[0];
}
}
}
}while(sw!=0);
v[0]=0;
for(i=0;i<99;i++)
if(a[i]!=0) k++;
for(i=1;i<=k;i++)
b[i]=0;
for(i=1;i<=n;i++)
{
while(b[v[i]]==0)
{
fout<<v[i]<<" ";
b[v[i]]++;
}
}return 0;
}
DA DOAR 60 PUNCTE, LIMITA DE TIMP DEPASITA
#include <fstream>
using namespace std;
ifstream fin("frecventa1.in");
ofstream fout("frecventa1.out");
int i,v[100001],n,a[100001],sw,k,b[100001];
int main()
{
for(i=0;i<99;i++)
a[i]=0;
fin>>n;
for(i=1;i<=n&&a[v[i]]<=1;i++)
{ fin>>v[i];
a[v[i]]++; }
do
{
sw=0;
for(i=1;i<n;i++)
{
if(a[v[i]]<a[v[i+1]])
{
v[0]=v[i];
v[i]=v[i+1];
v[i+1]=v[0];
sw=1; }else if(a[v[i]]==a[v[i+1]])
{
if(v[i]>v[i+1])
{
v[0]=v[i];
v[i]=v[i+1];
v[i+1]=v[0];
}
}
}
}while(sw!=0);
v[0]=0;
for(i=0;i<99;i++)
if(a[i]!=0) k++;
for(i=1;i<=k;i++)
b[i]=0;
for(i=1;i<=n;i++)
{
while(b[v[i]]==0)
{
fout<<v[i]<<" ";
b[v[i]]++;
}
}return 0;
}
DA DOAR 60 PUNCTE, LIMITA DE TIMP DEPASITA
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile și inspiraționale. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, suntem aici pentru a vă ajuta. Ne face plăcere să vă revedem și vă invităm să adăugați site-ul nostru la favorite pentru acces rapid!