Furnicuțe

Time limit: 0.1s Memory limit: 16MB Input: furnici.in Output: furnici.out

În Împărăția Roșie există un șir de NN dale, pe fiecare aflându-se un anumit număr de boabe de mei. Împăratul Roșu i-a dat o nouă sarcină lui Harap-Alb: acesta îi spune eroului că își va alege un număr, RR, iar Harap-Alb trebuie să îi dea un segment de dale, de lungime 2R+12 \cdot R + 1 care au aceeași cantitate de boabe de mei. Eroul știe că poate apela la Regina Furnicilor ca să își trimită supusele să execute sarcina, însă dorește să se folosească de cât mai puține furnicuțe, ca să nu le obosească. Știm că o furnicuță poate căra un singur bob de mei, pe care îl va duce direct în mușuroi (nu pe alte dale) și că ea îl va ajuta pe Harap-Alb doar la eliminarea unui singur bob de mei de pe dală (ca să nu obosească).

Cerință

Ajutați-l pe Harap-Alb să îndeplinească sarcina dată de Împăratul Roșu, folosind cât mai puține furnicuțe.

Date de intrare

Din fișierul de intrare furnici.in se citesc, în ordine, NN, RR și apoi NN valori numere naturale, reprezentând cantitatea de boabe de mei de pe fiecare dală.

Date de ieșire

În fișierul de ieșire, furnici.out se va scrie un singur număr natural, reprezentând indicele la care începe segmentul de lungime cerută. În cazul în care există mai multe soluții se va afișa cea cu indicele minim.

Restricții și precizări

  • 1N100 0001 \leq N \leq 100 \ 000;
  • O dală poate conține între 11 și 99 999 99999 \ 999 \ 999 boabe de mei;
  • 32R+1N3 \leq 2 \cdot R + 1 \leq N;
  • Pentru 30 de puncte, N5000N \leq 5000;
  • Pentru alte 70 de puncte, nu există restricții suplimentare.

Exemplul 1

furnici.in

7 2
5 1 3 12 6 4 3

furnici.out

3

Explicație

Dacă aleg segmentul care începe la poziția 11, de lungime 55, se folosesc 2222 de furnicuțe, dacă aleg segmentul ce începe la poziția 22, se folosesc 2121 de furnicuțe, iar dacă aleg segmentul ce începe la poziția 33, se folosesc 1313 furnicuțe. Observăm că numărul minim de furnicuțe este utilizat de segmentul care începe pe poziția 33.

Exemplul 2

furnici.in

6 1
2 1 2 1 2 1

furnici.out

2

Explicație

Numărul cel mai mic de furnicuțe, 11, se obține alegând segmentul de lungime 33 care începe pe poziția 22 sau pe poziția 44. Deoarece ne interesează cel mai mic indice, în fișierul de ieșire se va scrie 22.

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