#include<fstream>#include<iostream>using namespace std;ifstream fin("42.in");int n, m, i, a[10002], b[10002], j, stop, aux;int main(){ fin>>n; m=0; for(i=1;i<=n;i++) fin>>a[i]; for(i=1;i<n;i++) { stop=0; for(j=i+1;j<n and stop==0;j++) { if(a[i]==a[j]) stop++; } if(stop==0) b[++m]=a[i]; } for(i=1;i<m;i++) for(j=i+1;j<=m;j++) { if(b[i]>b[j]) { aux=b[i]; b[i]=b[j]; b[j]=aux; } } for(i=1;i<=m;i++) cout<<b[i]<<" "; fin.close(); return 0;}
///ce este gresit la acest cod
///problema 4 din poza
Anexe:
Răspunsuri la întrebare
Răspuns de
1
Pai in primul rand algoritmul tau are aproximativ n^2 operatii+memorie suplimentara care ar insemna din datele din enunt 100000^2 operatii...destul de mult.In enunt specifica , ca numerele au maxim doua cifre deci te poti gandi sa faci cu vectoi de frecventa.Complexitate O(n) si ca memotie trebuie sa folosesti un vector de maxim 100 de componente.Succes si La multi ani!
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Engleza,
9 ani în urmă
Fizică,
9 ani în urmă
Limba română,
9 ani în urmă