Kulude jagamine
시간 제한1초메모리 제한1024 MB
친구들이 각자 낸 공동 비용을 정산해 모두 같은 금액을 부담하도록 만드는, 총액이 최소인 송금 목록을 구한다.
문제
sõpra käisid Informaatika Maailmameistrivõistlustel. Võistlusel osalemine tekitas neile erinevaid ühiseid kulutusi, kusjuures iga kulu eest maksis üks sõpradest.
Pärast võistlust soovivad sõbrad kulud võrdselt ära jagada. Leida minimaalse kogusummaga pangaülekannete komplekt, mille abil seda teha.
입력
Sisendi esimesel real on sõprade arv () ja tehtud kulutuste arv (). Tähistame sõpru arvudega .
Järgmisel real on tehtud kulutuste andmed. Igal real on täisarvud ja , kus () on selle selle sõbra number, kes maksis, ja () on makstud summa. Võib eeldada, et kõik makstud summad jaguvad täpselt sõprade arvuga ja et kõigi kulude kogusumma ei ületa .
출력
Esimesele reale väljastada lahenduseks olevate pangaülekannete kogusumma .
Teisele reale väljastada ülekannete arv . Järgmisele reale väljastada igaühele kolm tühikutega eraldatud täisarvu , ja (, , , ), mis näitavad, et sõber kannab sõbrale üle summa .
Kõigi ülekannete kogusumma peab olema vähim võimalik. Kui sobivaid ülekannete komplekte on mitu, väljastada ükskõik milline neist.