Cerinţa
Se dau două şiruri, a
şi b
, cu n
respectiv m
elemente, numere naturale cu cel mult 9
cifre. Să se verifice dacă şirul b
poate fi obţinut din şirul a
, prin eliminarea unor elemente, fără a modifica ordinea inițială a elementelor.
Date de intrare
Fişierul de intrare eliminare2.in
conţine pe prima linie numărul n
; urmează n
numere naturale, dispuse pe mai multe linii, reprezentând elementele şirului a
. Următoarea linie conţine numărul m
, şi urmează m
numere naturale, dispuse pe mai multe linii, elementele şirului b
.
Date de ieşire
Fişierul de ieşire eliminare2.out
va conţine pe prima linie valoarea 1
, dacă putem obţine şirul b
din a
prin eliminarea unor valori, respectiv 0
în caz contrar.
Restricţii şi precizări
1 ≤ n,m ≤ 100.000
Exemplu
eliminare2.in
5 1 6 3 1 3 3 6 1 3
eliminare2.out
1
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema Eliminare2:
#include <iostream>
#include <fstream>
#include <cassert>
using namespace std;
ifstream fin("eliminare2.in");
ofstream fout("eliminare2.out");
int n,a[100005], m, b[100005];
int main(){
fin >> n;
for(int i=1;i<=n;++i)
fin >> a[i];
fin >> m;
for(int i=1;i<=m;++i)
assert(fin >> b[i]);
int j=1;
for(int i=1;i<=n;++i)
if(j<=m)
if(a[i]==b[j])
j++;
if(j==m+1)
fout << 1;
else
fout << 0;
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #259 Eliminare2
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #259 Eliminare2 de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!