Răspuns :
Răspuns:
#include<fstream>
#include<iostream>
using namespace std;
ifstream fin("3cifre.in");
ofstream fout("3cifre.out");
int main(){
long long n, x, nrmin=1000, nrapmin=0, nrmax=99, nrapmax=0, i, j, c,nr3cif, nraparitii=0;
long long x1min, x1max, x2min, x2max, copie, copie2=99;
long long v[50001]={0};
fin>>n>>c;
for(i=1; i<=n; i++){
fin>>x; copie=x;
while(x>99)
{
nr3cif=x%1000; if(nr3cif>99){ if(c==1){
if(nr3cif<nrmin){ nrmin=nr3cif; nrapmin=1; x1min=copie; x1max=copie; }
else if(nr3cif==nrmin){ nrapmin++; x1max=copie; }
if(nr3cif>nrmax){ nrmax=nr3cif; nrapmax=1; x2min=copie; x2max=copie; }
else if(nr3cif==nrmax){ nrapmax++; x2max=copie; } }
else if(c==2){ v[nr3cif]++; if(v[nr3cif]>nraparitii){
nraparitii=v[nr3cif]; if(nr3cif>copie2) copie2=nr3cif; } } } x=x/10;
}
}
if(c==1){ fout <<nrmin<<" "<<nrapmin<<" "<<x1min<<" "<<x1max<<endl;
fout <<nrmax<<" "<<nrapmax<<" "<<x2min<<" "<<x2max;
}
else
{ fout<<nraparitii<<endl;
for(i=100; i<=999; i++){ if(v[i]==nraparitii) fout<<i<<" "; } }
return 0;
}
Explicație: