Државно такмичење године 5. и 6. разред 1. [pločice] Правоугаону терасу димензија d s центиметара квадратних треба поплочати коришћењем плочица

Слични документи
PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekste

1. Vremensko ograničenje Memorijsko ograničenje ulaz izlaz 0,1 s 64 MB standardni ulaz standardni izlaz Banka želi da upozori kupce na sumnjive aktivn

Računarski praktikum I - Vježbe 11 - Funktori

Funkcije predavač: Nadežda Jakšić

Funkcije predavač: Nadežda Jakšić

Uvod u takmičarsko programiranje

Uvod u računarstvo 2+2

The real problem is that programmers have spent far too much time worrying about efficiency in the wrong places and at the wrong times; premature opti

Programiranje 2 popravni kolokvij, 15. lipnja Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanj

I grupa 1. Napisati program koji izračunava i ispisuje zbir 4 najveća od pet brojeva unetih sa standardnog ulaza. ulaz izlaz Analiza: 1.

Računarski praktikum I - Vježbe 06 - Standard Template Library (2)

Programiranje u C-u ili C++-u Pseudo-slučajni brojevi; Dinamička alokacija memorije 1 ZADACI SA ČASA Zadatak 1 Napraviti funkciju koja generišlučajan

Програмирај!

РЕПУБЛИКА СРПСКА МИНИСТАРСТВО ПРОСВЈЕТЕ И КУЛТУРЕ РЕПУБЛИЧКИ ПЕДАГОШКИ ЗАВОД Милоша Обилића 39 Бањалука, Тел/факс 051/ , 051/ ; p

1. Apsolutni pobednik na glasanju vreme memorija ulaz izlaz 0,1 s 64 Mb standardni ulaz standardni izla Apsolutni pobednik izbora je onaj ko osvoji ba

Računarski praktikum I - Vježbe 03 - Implementacija strukture string

Република Србија МИНИСТАРСТВО ПРОСВЕТЕ, НАУКЕ И ТЕХНОЛОШКОГ РАЗВОЈА ЗАВОД ЗА ВРЕДНОВАЊЕ КВАЛИТЕТА ОБРАЗОВАЊА И ВАСПИТАЊА ЗАВРШНИ ИСПИТ НА КРАЈУ ОСНОВН

Sravnjivanje niski Hashiranje 1. Hash Function (en.wikipedia.org) 2. MD5 message-digest algorithm (en.wikipedia.org) 3. Birthday Paradox (en.wikipedia

Microsoft Word - Zadaci za samostalno vjezbanje 4.doc

Grananje u programu predavač: Nadežda Jakšić

Tutoring System for Distance Learning of Java Programming Language

Strukture predavač: Nadežda Jakšić

Tutoring System for Distance Learning of Java Programming Language

Republika Srbija MINISTARSTVO PROSVJETE, NAUKE I TEHNOLOŠKOG RAZVOJA ZAVOD ZA VREDNOVANJE KVALITETA OBRAZOVANJA I ODGOJA ZAVRŠNI ISPIT NA KRAJU OSNOVN

PowerPoint Presentation

Република Србија МИНИСТАРСТВО ПРОСВЕТЕ, НАУКЕ и технолошког развоја ЗАВОД ЗА ВРЕДНОВАЊЕ КВАЛИТЕТА ОБРАЗОВАЊА И ВАСПИТАЊА ЗАВРШНИ ИСПИТ НА КРАЈУ ОСНОВН

Hash, topsort (stack, queue), deque, map Hash 1. За дати низ од n елемената, где је n паран број и n <= 10 6, испитати да ли он може бити подељен на n

Računarski praktikum I - Vježbe 09 - this, static

2015_k2_z12.dvi

Programiranje 2 0. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 0. predavanje p. 1/4

1 jmbag ime i prezime Programiranje 2 prvi kolokvij, Rezultati i uvidi u kolokvije: Rezultati u petak, 3.5., navečer na webu, a uvidi u p

Algoritmi SŠ P1

Konstrukcija i analiza algoritama vežbe 10 Nina Radojičić 15. decembar Algoritamske strategije - podeli pa vladaj (divide and conquer) Ova stra

Programiranje II Beleške sa vežbi Smer Informatika Matematički fakultet, Beograd Sana Stojanović 1

PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije

Uvod u računarstvo 2+2

Microsoft Word JEDINICE ZA MERENJE-formulice

Република Србија МИНИСТАРСТВО ПРОСВЕТЕ, НАУКЕ И ТЕХНОЛОШКОГ РАЗВОЈА ЗАВОД ЗА ВРЕДНОВАЊЕ КВАЛИТЕТА ОБРАЗОВАЊА И ВАСПИТАЊА ТЕСТ МАТЕМАТИКА УПУТСТВО ЗА О

Slide 1

Упутство за пријављивање испита путем интернета Да би студент могао да пријави испит путем интернета мора прво да се пријави. Пријављивање се врши у п

Tutoring System for Distance Learning of Java Programming Language

Министарство просвете, науке и технолошког развоја ДРУШТВО МАТЕМАТИЧАРА СРБИЈЕ Општинско такмичење из математике ученика основних школа III

PROCES KUPNJE ULAZNICE NA PORTALU ULAZNICE.HR Početak kupovine... 2 Plaćanje Mastercard karticom... 5 Plaćanje Maestro karticom... 8 Plaćanje American

Računarski praktikum I - Vježbe 07 - Podstrukture, const, reference

070-ALIP2-udzbenik.indb

Шифра ученика: Укупан број бодова: Република Србија МИНИСТАРСТВО ПРОСВЕТЕ, НАУКЕ и технолошког РАзвоја ЗАВОД ЗА ВРЕДНОВАЊЕ КВАЛИТЕТА ОБРАЗОВАЊА И ВАСП

Programski jezici i strukture podataka 2018/2019. Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijsk

MATEMATIKA EKSTERNA PROVJERA ZNANJA UČENIKA NA KRAJU III CIKLUSA OSNOVNE ŠKOLE UPUTSTVO VRIJEME RJEŠAVANJA TESTA: 70 MINUTA Pribor: grafitna olovka i

Република Србија МИНИСТАРСТВО ПРОСВЕТЕ, НАУКЕ и технолошког развоја ЗАВОД ЗА ВРЕДНОВАЊЕ КВАЛИТЕТА ОБРАЗОВАЊА И ВАСПИТАЊА ЗАВРШНИ ИСПИТ НА КРАЈУ ОСНОВН

ЛИНЕАРНА ФУНКЦИЈА ЛИНЕАРНА ФУНКЦИЈА у = kх + n А утврди 1. Које од наведених функција су линеарне: а) у = 2х; б) у = 4х; в) у = 2х 7; г) у = 2 5 x; д)

ЗАДАЦИ ИЗ МАТЕМАТИКЕ ЗА ПРИПРЕМАЊЕ ЗАВРШНОГ ИСПИТА

Microsoft Word - 7. cas za studente.doc

Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br

Microsoft Word - ZadaciSeminarski.doc

Република Србија МИНИСТАРСТВО ПРОСВЕТЕ, НАУКЕ И ТЕХНОЛОШКОГ РАЗВОЈА ЗАВОД ЗА ВРЕДНОВАЊЕ КВАЛИТЕТА ОБРАЗОВАЊА И ВАСПИТАЊА ЗАВРШНИ ИСПИТ У ОСНОВНОМ ОБРА

(Microsoft Word - Dr\236avna matura - lipanj osnovna razina - rje\232enja)

Упутствo за РАДНУ ГРУПУ за израду ПЛАНА ИНТЕГРИТЕТА на wеb апликацији Нацрти плана интегритета налазе се на линку integritet.acas.rs или на сајту Аген

Računarski praktikum I - Vježbe 01 - Uvod

Microsoft PowerPoint - 07-DinamickeStrukturePodataka

Шифра ученика: Укупан број бодова: Република Србија МИНИСТАРСТВО ПРОСВЕТЕ, НАУКЕ и технолошког РАзвоја ЗАВОД ЗА ВРЕДНОВАЊЕ КВАЛИТЕТА ОБРАЗОВАЊА И ВАСП

Република Србија МИНИСТАРСТВО ПРОСВЕТЕ, НАУКЕ И ТЕХНОЛОШКОГ РАЗВОЈА ЗАВОД ЗА ВРЕДНОВАЊЕ КВАЛИТЕТА ОБРАЗОВАЊА И ВАСПИТАЊА ЗАВРШНИ ИСПИТ У ОСНОВНОМ ОБРА

Dinamičko programiranje Primer 1: Za dati niz naći njegov najduži neopadajući podniz. Defnicija: podniz nekog niza je niz koji se dobija izbacivanjem

М А Т Е М А Т И К А Први разред (180) Предмети у простору и односи међу њима (10; 4 + 6) Линија и област (14; 5 + 9) Класификација предмета према свој

Математика напредни ниво 1. Посматрај слике, па поред тачног тврђења стави слово Т, а поред нетачног Н. а) A B б) C D в) F E г) G F д) E F ђ) D C 2. О

Grafovski algoritmi - čas 4 Artikulacione tačke i mostovi Ukoliko u neusmerenom povezanom grafu G = (V, E) postoji čvor v V takav da njegovim uklanjan

untitled

Орт колоквијум

MATEMATIKA EKSTERNA PROVJERA ZNANJA UČENIKA NA KRAJU III CIKLUSA OSNOVNE ŠKOLE UPUTSTVO VRIJEME RJEŠAVANJA TESTA: 70 MINUTA Pribor: grafitna olovka i

Република Србија МИНИСТАРСТВО ПРОСВЕТЕ, НАУКЕ И ТЕХНОЛОШКОГ РАЗВОЈА ЗАВОД ЗА ВРЕДНОВАЊЕ КВАЛИТЕТА ОБРАЗОВАЊА И ВАСПИТАЊА ТЕСТ МАТЕМАТИКА школска 2013/

Razvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić

DISKRETNA MATEMATIKA

Primenjeno programiranje - vezbe GUI i baze podataka

Microsoft Word - ZadaciBacktrackingKombinatorika.doc

Microsoft Word - Algebra i funkcije- napredni nivo doc

MATEMATIKA EKSTERNA PROVJERA ZNANJA UČENIKA NA KRAJU III CIKLUSA OSNOVNE ŠKOLE UPUTSTVO VRIJEME RJEŠAVANJA TESTA: 70 MINUTA Pribor: grafitna olovka i

Programiranje 1 drugi kolokvij, 2. veljače Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje,

Математика основни ниво 1. Одреди елементе скупова A, B, C: a) б) A = B = C = 2. Запиши елементе скупова A, B, C на основу слике: A = B = C = 3. Броје

18. ožujka Državno natjecanje / Osnovna škola (6. razred) Primjena algoritama (Basic/Python/Pascal/C/C++) Sadržaj Zadaci... 1 Zadatak: Kineski..

Matematika kroz igru domino

Microsoft Word - 1_Uputstvo-za-ocenjivanje_ZI-2018_Matematika Jun.doc

ELEKTROTEHNIČKI FAKULTET UNIVERZITETA U BEOGRADU BEOGRAD, Ispit iz Programiranja 2 Ispit traje 135 minuta Napomene: a) Pažljivo proučite U

Република Србија МИНИСТАРСТВО ПРОСВЕТЕ, НАУКЕ И ТЕХНОЛОШКОГ РАЗВОЈА ЗАВОД ЗА ВРЕДНОВАЊЕ КВАЛИТЕТА ОБРАЗОВАЊА И ВАСПИТАЊА ПРОБНИ ЗАВРШНИ ИСПИТ школска

Орт колоквијум

Microsoft PowerPoint - 10-Jednodimenzionalni nizovi.ppt [Compatibility Mode]

Poštovani,

Microsoft PowerPoint - C-4-1

LAB PRAKTIKUM OR1 _ETR_

Повезивање са интернетом

Programiranje 1 Beleške sa vežbi Školska 2007/2008 godina Matematički fakultet, Beograd Jelena Tomašević December 5, 2007

Ивана Јухас MATEMATИKA 2а Уџбеник за други разред основне школе

OOP1 - domaci 2 (2004/05)

Infokup - Školsko Osnovne škole Algoritmi BaPaCpp

studirko.com predstavlja: Večernja škola C# za FPZ ( ) v 4.0 Za studirko.com napisao: Slaven Špigl

OSNOVNA ŠKOLA, VI RAZRED MATEMATIKA

(Microsoft Word - Rje\232enja zadataka)

PowerPoint Presentation

Primjeri optimizacije postojećih shema programom CUTLOG Potrebno je ispiliti drvenu građu 69 x 69 mm. Postojeća shema piljenja izgleda kao na slici de

Uvod u računarstvo 2+2

ALIP1_udzb_2019.indb

Република Србија МИНИСТАРСТВО ПРОСВЕТЕ, НАУКЕ И ТЕХНОЛОШКОГ РАЗВОЈА ЗАВОД ЗА ВРЕДНОВАЊЕ КВАЛИТЕТА ОБРАЗОВАЊА И ВАСПИТАЊА ЗАВРШНИ ИСПИТ У ОСНОВНОМ ОБРА

Транскрипт:

Државно такмичење 2018. године 5. и 6. разред 1. [pločice] Правоугаону терасу димензија d s центиметара квадратних треба поплочати коришћењем плочица квадратног облика странице p центиметара, које се постављају тако да су им странице паралелне страницама терасе. Написати програм којим се одређује колико се плочица мора сећи ради поплочавања, као и површину дела терасе који заузимају сечене плочице. Од сваке сечене плочице користи се један део, а други одбацује. Улаз: p - страница плочице у cm (10 p 50) d - дужина просторије у cm (200 d 10000) s - ширина просторије у cm (200 s 10000) Излаз: број плочица које се морају сећи и површина коју покривају сечене плочице. Пример: Улаз Излаз 20 29 310 5700 270 // dimenzija polocice i duzina i sirina prostorije int p, d, s; cin >> p >> d >> s; int dfloor = d / p, dceil = (d + p - 1) / p; int sfloor = s / p, sceil = (s + p - 1) / p; // dceil * sceil - minimalni broj plocica koje pokrivaju oblast // dfloor * sfloor - maksimalni broj plocica koje su sadrzane u oblasti int brojsecenihplocica = (dceil * sceil) - (dfloor * sfloor); int povrsinapokrivenasecenimplocicama = (d*s) - (dfloor*p*sfloor*p); cout << brojsecenihplocica << endl; cout << povrsinapokrivenasecenimplocicama << endl; 2. [kupovina] Познате су све цене предмета који се продају у једној продавници. Купац има на располагању одређени износ динара и жели да купи што скупље предмете. Редом узима предмете почев од најскупљег, док има новца. Ако нема новца за најскупљи, узима најскупљи за који има новца. Напомена: ова стратегија не гарантује да ће предмети које купи бити укупно највеће могуће вредности (нпр. ако има 5 динара и ако су цене предмета 4, 3 и 2 динара, он ће купити предмет само предмет од 4 динара, а могао би да купи предмете од 3 и 2 динара). Напиши програм који одређује колико новца купцу преостаје након куповине на описани начин У првој линији стандардног улаза налази се износ новца (цео број) који има купац, у другој број предмета, N (природни број мањи од 50000), а затим се у наредној линији уносе редом цене предмета, раздвојене размацима. На стандарни излаз исписати преостали износ новца, након куповине на описани начин.

Примери Улаз Излаз Улаз Излаз 1250 10 10000 0 5 6 1010 357 725 1125 115 3010 3005 5725 1265 2075 385 #include <vector> #include <algorithm> // ucitavamo iznos kojim kupac raspolaze int iznos; cin >> iznos; // ucitavamo cene svih predmeta vector<int> cene(n); for (int i = 0; i < n; i++) cin >> cene[i] // sortiramo cene nerastuce sort(cene.begin(), cene.end(), greater<int>()); // kupujemo najvrednije predmete koje mozemo kupiti sve dok imamo novca for (int i = 0; iznos > 0 && i < cene.size(); i++) if (iznos >= cene[i]) iznos -= predmeti[i].cena; // ispisujemo preostali iznos novca nakon kupovine cout << iznos << endl; 3. [utovar] У транспортни брод преносе се редом пакети задатих маса колицима дате носивости (она је већа или једнака маси сваког пакета). При томе пакете увек преносимо у целости. Када неки пакет не може стати у колица због тренутног прекорачења носивости колица, та колица превозимо до брода, и почињемо пуњење нових колица. Написати програм који приказује редом, за свака колица, број пакета и укупну масу пакета пренетих њима. У првој линији стандардног улаза налази се носивост колица N (природан број 10 N 500). У свакој наредној линија налази се маса пакета m i (природан број 1 m i N) који треба пренети. Улаз се завршава линијом у којој се налази број 0 (њих има највише 50000). На стандардном излазу се прво, за свака колица, у по једној линији, налази број пакета на колицима и укупна маса пакета стављених на њих (раздвојени размаком). Пример Улаз 30

5 10 8 12 3 5 15 13 5 15 2 4 22 9 0 Излаз 3 23 3 20 2 28 4 26 1 22 1 9 // nosivost paketa int Nosivost; cin >> Nosivost; // podaci o tekucem stanju na kolicima int masanakolicima = 0, brojpaketanakolicima = 0; // indikator da li se stiglo do kraja bool kraj = false; while(!kraj) { // ucitavamo paket int masapaketa; cin >> masapaketa; // proveravamo da li je u pitanju oznaka kraja if (masapaketa == 0) kraj = true; // ako se tekuca kolica vise ne mogu popuniti (stiglo se do kraja ili // ucitani paket ne staje na njih) if (kraj masanakolicima + masapaketa > Nosivost) { // ispisujemo broj i masu paketa na njima cout << brojpaketanakolicima << " " << masanakolicima << endl; // ako nismo dosli do kraja, zapocinjemo nova kolica if (!kraj) { brojpaketanakolicima = 0; masanakolicima = 0;

// ako nismo dosli do kraja, ucitani predmet postavljamo // na kolica (stara, ako staje na njih, tj. nova ako ne staje) if (!kraj) { masanakolicima += masapaketa; brojpaketanakolicima++; 4. [knjige] Јованка жели да пребаци књиге са једне на другу полицу. На првој полици се налази N књига и позната је ширина сваке од њих у милиметрима. Она рукама хвата одређени низ књига са прве полице које се налазе једна до друге и све заједно их одједном пребацује на другу полицу, при чему жели да пребаци књиге тако да јој попуне другу полицу од ивице до ивице. У првој линији стандардног улаза налази се природни број z (такав да је 1 z 10 6 ) који представља ширину друге полице. У другој се налази број књига на првој полици n (2 n 5 10 5 ), а у трећој ширине књига на првој полици (позитивни природни бројеви мањи од 100), раздвојени размаком. Исписати све редне бројеве књига од којих Јованка може да започне пребацивање тако да друга полица буде попуњена од ивице до ивице (књиге на првој полици се броје од нуле), поређане растуће. Пример Улаз: Излаз: Објашњење: 125 2 Ако крене књиге број 2, пренеће 25+50+50 10 4 Ако крене од књиге број 4, пренеће 50+50+25 35 40 25 50 50 50 25 35 15 35 5 Ако крене од књиге број 5, пренеће 50+25+35+15 // ubrzavamo ucitavanje ios_base::sync_with_stdio(false); // ucitavamo trazeni zbir int trazenizbir; cin >> trazenizbir; // ucitavamo elemente niza int a[50000]; for (int i = 0; i < n; i++) cin >> a[i]; // broj segmenata trazenog zbira int brojsegmenata = 0; // granice segmenta int i = 0, j = 0; // zbir segmenta

int zbir = a[0]; while (true) { if (zbir < trazenizbir) { // prelazimo na segment [i, j+1] j++; // ako takav segment ne postoji, zavrsili smo pretragu if (j >= n) break; // izracunavamo zbir segmenta[i, j+1] na osnovu zbira [i, j] zbir += a[j]; else { // ako je zbir jednak trazenom uvecavamo brojac pronadjenih if (zbir == trazenizbir) brojsegmenata++; // prelazimo na interval [i+1, j] // izracunavamo zbir intervala [i+1, j] na osnovu zbira [i, j] zbir -= a[i]; i++; cout << brojsegmenata << endl;

Државно такмичење 2018. године 7. и 8. разред 1. [kupovina] 2. [binarni nizovi] Написати програм којим се приказују сви бинарни низови (низови који садрже само нуле и јединице) дужине n који не садрже две узастопне јединице. Низове приказати у лексикографском поретку (тако да су бинарни бројеви формирани од тих низова поређани растуће). Прва линија стандардног улаза садржи природан број n (n 10). На стандардном излазу приказати тражене бинарне низове у лексикографском поретку, сваки низ у посебној линији. Пример Улаз Излаз 3 000 001 010 100 101 #include <vector> void prikazi(const vector<bool>& s){ for (bool b : s) cout << (b? "1" : "0"); cout << endl; void binarninizovi_(vector<bool>& s, int i) { if (i == s.size()) { prikazi(s); return; s[i] = false; binarninizovi_(s, i + 1); if (i == 0 s[i-1] == false) { s[i] = true; binarninizovi_(s, i + 1); void binarninizovi(int n) { vector<bool> s(n); binarninizovi_(s, 0); binarninizovi(n);

3. [akcije] Вредност акција једне компаније варирала је из дана у дан током једног дужег временског периода. Напиши програм који одређује колико има низова узастопних дана у којима је укупан збир промена вредности акција једнак датом броју z. Са стандардног улаза се у првој линији уноси тај број z (цео број -10000 и 10000), затим, у наредној линији број дана n у којима се пратила промена вредности акција (3 n 50000) и затим у нареднoj линији промене за сваки од дана у односу на претходни дан (цели бројеви између -100 и 100) раздвојени размацима. На стандардни излаз испиши број периода у којима је укупна промена једнака z (тј. броја непразних сегмената низа промена чији је збир једнак z). Пример Улаз 11 10 1 2 3 5 1-1 1 5 3 2 Излаз 7 Објашњење: следећи сегменти имају збир 11 1 2 3 5 1 2 3 5 1-1 2 3 5 1 2 3 5 1-1 1 5 1-1 1 5 1-1 1 5 3 2 1 5 3 2 #include <map> #include <vector> ios_base::sync_with_stdio(false); cin.tie(0); // ucitavamo trazeni zbir int trazenizbir; cin >> trazenizbir; // zbir prefiksa int zbirprefiksa = 0; // broj segmenata sa trazenim zbirom int broj = 0; // broj pojavljivanja svakog vidjenog zbira prefiksa map<int, int> zbiroviprefiksa; // zbir pocetnog praznog prefiksa je 0 i on se za sada pojavio // jednom zbiroviprefiksa[0] = 1;

// ucitavamo elemente niza niz for (int i = 0; i < n; i++) { int x; cin >> x; // prosirujemo prefiks tekucim elementom zbirprefiksa += x; // trazimo broj pojavljivanja vrednosti zbirprefiksa - trazenizbir // i azuriramo broj pronadjenih segmenata auto it = zbiroviprefiksa.find(zbirprefiksa - trazenizbir); if (it!= zbiroviprefiksa.end()) broj += it->second; // povecavamo broj pojavljivanja trenutnog zbira zbiroviprefiksa[zbirprefiksa]++; cout << broj << endl; 4. [domine] Домине се слажу једна уз другу, тако што се поља на доминама постављеним једну уз другу морају поклапати. Домине обично имају само два поља, међутим, наше су домине специјалне и имају више различитих поља (означених словима). Ако све домине које слажемо имају исту шару, напиши програм који одређује како је домине могуће сложити тако да заузму што мање простора по дужини (свака наредна домина мора бити смакнута бар за једно поље). На пример, ако на доминама пише ababcabab, најмање простора заузимају ако се сложе на следећи начин: ababcabab ababcabab ababcabab Улаз: Први ред стандардног улаза садржи ниску малих слова енглеске абецеде које представљају шаре на доминама. Дужина ниске је између 2 и 100000 карактера. У наредном реду се налази цео број n (1 n 50000) који представља број домина. Излаз: На стандардни излаз исписати цео број који представља укупну дужину сложених домина. Примери Улаз: Излаз: Улаз: Излаз: Улаз: Излаз: ababcabab 19 abc 15 aa 11 3 5 10 #include <string> #include <vector>

string str; cin >> str; vector<int> kmp(str.size() + 1); kmp[0] = -1; for (int i = 0; i < str.size(); i++) { int k = i; while (k > 0 && str[i]!= str[kmp[k]]) k = kmp[k]; kmp[i + 1] = kmp[k] + 1; cout << kmp[str.size()] + n * (str.size() - kmp[str.size()]) << endl;