Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2018-03-16 10:20:25.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:greutati.in, greutati.outSursăAlgoritmiada 2018 Runda PreONI
AutorMihai CalanceaAdăugată deheracleRadu Muntean heracle
Timp execuţie pe test0.5 secLimită de memorie262144 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Greutati

Poveste şi cerinţă...

Se dau N tipuri de numere, din fiercare tip i de la 0 la N - 1 se stie ca sunt (FR[ i ]). Numerele de tipul i sunt egale cu 2 ^ i. Sa se partitioneze numerele in 2 multiseturi astfel incat sumele celor 2 sa fie cat mai apropiate. Aflati aceasta diferenta (in modul) minima modulo 1.000.000.009 (e prim).
N <= 10 ^ 6
FR[ i ] <= 10 ^ 9

primele 10p: N, SumaFR <= 30
urmatoarele 10p: N <= 30
inca 40p: SumaFR <= 10 ^ 6
ultimele 40p: fara alte restrictii

Date de intrare

Fişierul de intrare greutati.in se vor afla pe prima linie 2 numere intregi T si P, unde T reprezinta numarul de puteri de 2 pentru care frecventa este diferita de 0 si P reprezinta puterea maxima la care poate aparea 2. Pe urmatoarele T linii se vor afla cate 2 numere intregi pw[i] si f[i] reprezentand o putere si o frecventa corespunzatoare acelei puteri.

Date de ieşire

În fişierul de ieşire greutati.out ...

Restricţii

  • 1 ≤ T ≤ 1.000.000
  • 1 ≤ P ≤ 1.000.000.000
  • 1 ≤ pw[i] ≤ 1.000.000.000
  • 1 ≤ f[i] ≤ 1.000.000.000

Exemplu

greutati.ingreutati.out
This is some
text written on
multiple lines.
This is another
text written on
multiple lines.

Explicaţie

...

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?