Buon sera, ho un problema con un esercizio delle territoriali, cioè questo
#include <iostream>
using namespace std;
struct Contests
{
long long int I,F;
};
int main()
{
long long int How=0,NumCont=0, night=-1,conta=0;
cin>>NumCont;
Contests Cont[NumCont];
cin>>How;
for(long long int x=0;x<NumCont;x++)
{
cin>>Cont[x].I;
cin>>Cont[x].F;
}
for(long long int x=0;x<NumCont-1;x++)
{
conta=0;
while(Cont[x].F!=Cont[x+1].I)
{
Cont[x].F=Cont[x].F-conta;
conta++;
Cont[x].F=Cont[x].F+conta;
if(Cont[x].F>23)
Cont[x].F=0;
}
if(conta>=How)
{
night=x;
break;
}
}
cout<<night<<endl;
}
Il programma soddisfa gli esempi e in più io gli ho dato in pasto altri tipi di input, dandomi il risultato giusto. Per esempio, questo:
Nota: Il numero dopo il trattino sono solo le ore contate da me (-ore)
15
20
0 23 -0
23 4 -0
4 23 -2
1 8 -1
9 10 -0
10 23 -12
11 20 -15
11 23 -11
10 21 -0
21 23 -7
6 22 -1
23 23 -11
10 23 -16
15 19 -20
15 23
Risultato: 13
Però mi da 0/100, soddisfando solo gli esempi e subtask 2 tranne un caso.