hankeej0   3년 전

다른 글에 있는 반례를 넣어봐도 잘 나오는것 같은데... 어디에서 틀렸는지 모르겠습니다


#include

int main()

{

int n, atesc = 0, btesc = 0, prtim = 0, prtis = 0, adosw = 0, bdosw = 0;

int adotim = 0, adotis = 0, bdotim = 0, bdotis = 0, lasc = 0;

scanf("%d", &n);

for (int i = 0; i < n; i++)

{

int gote, gotim, gotis;

scanf("%d %d:%d", &gote, &gotim, &gotis);

if (gote == 1) atesc++;

else if (gote == 2) btesc++;

if (atesc > btesc)

{

if (adosw == 0)

{

prtim = gotim;

prtis = gotis;

}

adosw = 1;

}

else if (atesc == btesc)

{

if (adosw == 1)

{

adotim += gotim - prtim;

adotis += gotis - prtis;

}

else if (bdosw == 1)

{

bdotim += gotim - prtim;

bdotis += gotis - prtis;

}

adosw = 0;

bdosw = 0;

}

else if (atesc < btesc)

{

if (bdosw == 0)

{

prtim = gotim;

prtis = gotis;

}

bdosw = 1;

}

lasc++;

if (lasc == n)

{

if (atesc > btesc)

{

adotim += 48 - prtim;

adotis += 00 - prtis;

}

else if (atesc < btesc)

{

bdotim += 48 - prtim;

bdotis += 00 - prtis;

}

}

if (adotis < 0)

{

adotis += 60;

adotim--;

}

if (adotis >= 60)

{

adotis -= 60;

adotim++;

}

if (bdotis < 0)

{

bdotis += 60;

bdotim--;

}

if (bdotis >= 60)

{

bdotis -= 60;

bdotim++;

}

}

printf("%02d:%02d\n", adotim, adotis);

printf("%02d:%02d", bdotim, bdotis);

}

댓글을 작성하려면 로그인해야 합니다.