La problema #1471 de pe pbinfo iau 94 de puncte cu acest cod, imi puteti zice, daca va dati seama, unde am gresit?
Cod -> https://pastebin.com/4X8hLCEv
-> Problema rezolvata!
Răspunsuri la întrebare
Răspuns:
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("maxdiv.in");
ofstream g("maxdiv.out");
int n,i,x[1001],nd[1001],nrmaxdiv,contormaxdiv,c,num,v;
int lensecv, lensecvmax,st,dr,k,ind[1000];
int nrdiv(int num)
{
int d=0,j;
for (j=1; j*j<num; ++j)
if (num%j==0) d+=2;
if (j*j==num) ++d;
return d;
}
int main()
{
f >> n >> c;
f >> num;
x[0]=num; nd[0]=nrdiv(num);
nrmaxdiv=nd[0]; ++contormaxdiv;
ind[k]=0;
for (i=1; i<n; ++i)
{
f >> num;
x[i]=num; v=nrdiv(num);
nd[i]=v;
if (v>nrmaxdiv)
{ nrmaxdiv=v; contormaxdiv=1; k=0; ind[k]=i; }
else
{
if (v==nrmaxdiv) { ++contormaxdiv; ++k; ind[k]=i; }
}
}
if (c==1) g << contormaxdiv-1;
else
{
lensecvmax=ind[1]-ind[0] +1;
st=ind[0]; dr=ind[1];
for (i=1; i<k; ++i)
{
lensecv=ind[i+1]-ind[i] +1;
if (lensecv>lensecvmax)
{
lensecvmax=lensecv; st=ind[i]; dr=ind[i+1];
}
}
for (i=st; i<=dr; ++i )
g << x[i] << " ";
}
}
Explicație:
salut! până ce cercetează codul meu de 100 (foarte proaspăt...)
acum mă uit şi la codul tău...