Szukam błędu w moim rozwiązaniu w tym zadanku. Niby wszystkie testy, jakie mu zadałem, program przeszedł, ale sędzia mówi co innego. Pomocy?
DAPPLES
`#include <iostream>
using namespace std;
class Mieszkancy
{
public:
int wzrost;
int wiek;
int cm_rosniecia;
int wzrost_lata[21];
void przyporzadkuj();
void pokaz_wzrost();
void oblicz_wzrost();
};
float czas_spadania(int v)
{
float v1 = v;
const int a = 1000;
float t = v1/a;
return t;
}
float drzewo(float t, float h)
{
const int a = 1000;
float h1 = (a*t*t/2)+h;
return h1;
}
main()
{
int T, v, n, k=0;
cin>>T; //ilosc prob
for(int i_1 = 0; i_1<T; i_1++)
{
cin>>v; //predkosc mogaca zabic
v*=100;
cin>>n; //ilosc osob
float K[21];
float t;
t=czas_spadania(v); //czas spadania przy maksymalnej predkosci(v)
//cout<<t<<endl;
Mieszkancy Mieszkaniec[n]; //tworzymy n mieszkancow
for(int i_2 = 0; i_2<n; i_2++)
{
int a,b,c;
cin>>a>>b>>c;
Mieszkaniec[i_2].wzrost = a;
Mieszkaniec[i_2].wiek = b;
Mieszkaniec[i_2].cm_rosniecia = c;
Mieszkaniec[i_2].oblicz_wzrost(); //oblicza wzrost dla kazdego roku
//Mieszkaniec[i_2].pokaz_wzrost();
}
//teraz znajdujemy min wzrost
#define FRAZE Mieszkaniec[i_4].wzrost_lata[i_3]
for(int i_3=0; i_3<21; i_3++)
{
k=2147483647;
for(int i_4 = 0; i_4<n; i_4++) if(FRAZE<k)k=FRAZE;
K[i_3] = k;
//cout<<K[i_3]<<endl;
}
for(int i = 0; i<21; i++)
{
cout<<i<<": "<<drzewo(t, K[i])<<endl;
}
}
}
void Mieszkancy::oblicz_wzrost()
{
wzrost_lata[0] = wzrost;
int wiek_wzrostu = 20-wiek;
for(int i = 1; i<21; i++)
{
if(i<wiek_wzrostu+1)wzrost_lata[i] = wzrost_lata[i-1]+cm_rosniecia;
else wzrost_lata[i] = wzrost_lata[i-1];
}
}
void Mieszkancy::pokaz_wzrost()
{
//cout<<"Mieszkaniec: "<<endl;
for(int i =0; i<21; i++) cout<<"Rok "<<i<<": "<<wzrost_lata[i]<<endl;
cout<<endl<<endl;
}