Perechi

Time limit: 0.1s Memory limit: 64MB Input: perechi.in Output: perechi.out

Gigel a primit o sarcină interesantă: se dă un șir de N\boldsymbol{N} numere numere naturale și un număr natural K\boldsymbol{K}. Ajutați-l pe Gigel să rezolve următoarele două cerințe.

Cerință

  1. Fie XX primul număr din șir. Determinați poziția celui mai mic număr YY care aparține șirului, astfel încât suma celor două numere XX și YY să fie divizibilă cu KK. Dacă valoarea YY, cu proprietatea precizată, apare de mai multe ori în șir, se ia în considerare poziția cea mai din dreapta. Există cel puțin un astfel de număr YY, care aparține șirului.
  2. Determinați numărul minim de elemente care trebuie eliminate din șir astfel încât elementele rămase să poată fi grupate în perechi disjuncte (fiecare element rămas aparține unei singure perechi), cu proprietatea că suma celor două valori din fiecare pereche este divizibilă cu KK.

Date de intrare

Fișierul de intrare perechi.in conține:

  • pe prima linie, un număr natural CC reprezentând cerința de rezolvat (C=1C = 1 sau C=2C = 2);
  • pe cea de-a doua linie, două numere naturale NN și KK, cu semificația din enunț;
  • pe cea de-a treia linie, NN numere naturale, reprezentând elementele șirului.

Numerele aflate pe aceeași linie sunt separate prin câte un spațiu.

Date de ieșire

Fișierul de ieșire perechi.out conține, pe prima linie, un număr natural, reprezentând numărul determinat conform cerinței CC.

Restricții și precizări

  • 2N1052 \leq N \leq 10^5;
  • 1K1051 \leq K \leq 10^5;
  • toate elementele șirului au valori cuprinse între 00 și 10910^9;
  • pentru C=1C = 1, poziția primului element XX nu coincide cu poziția lui YY;
  • o pereche este formată din exact două elemente.
# Scor Restricții
1 31 C=1C = 1
2 69 C=2C = 2

Exemplul 1

perechi.in

1
7 3
2 3 4 5 1 1 2

perechi.out

6

Explicație

C=1C = 1, N=7N = 7, K=3K = 3, șirul este [2,3,4,5,1,1,2][2, 3, 4, 5, 1, 1, 2], iar X=2X = 2.
Valorile lui YY din șir pentru care (X+Y)%3=0(X + Y) \% 3 = 0 sunt: 44 (poziția 33, deoarece 2+4=62 + 4 = 6) și 11 (pozițiile 55 și 66, deoarece 2+1=32 + 1 = 3).

Astfel, valoarea minimă cerută cu proprietatea precizată este Y=1Y = 1, iar cea mai din dreapta poziție a sa este 66.

Exemplul 2

perechi.in

2
4 4
1 2 3 4

perechi.out

2

Explicație

C=2C = 2, N=4N = 4, K=4K = 4, șirul este [1,2,3,4][1, 2, 3, 4].
Dacă eliminăm elementele 22 și 44, rămân 11 și 33, care formează o pereche cu suma 1+3=41 + 3 = 4, divizibilă cu 44.
Astfel, răspunsul este 22.

Exemplul 3

perechi.in

2
6 2
2 4 6 8 10 12

perechi.out

0

Explicație

C=2C = 2, N=6N = 6, K=2K = 2, șirul este [2,4,6,8,10,12][2, 4, 6, 8, 10, 12].
Se pot forma perechile (2,4)(2, 4), (6,8)(6, 8), (10,12)(10, 12), cu sumele 66, 1414, 2222, fiecare divizibilă cu 22. O alta modalitate de a forma perechi este: (2,8)(2, 8), (4,10)(4, 10), (6,12)(6, 12), cu sumele 1010, 1414, 1818, fiecare divizibilă cu 22. Astfel, răspunsul este 00.

Log in or sign up to be able to send submissions!