👤

Cerința
Se dă un vector cu n elemente, numere naturale. Fie două numere x și y, cu proprietatea că 1 ≤ x , y ≤ n.

Scrieți un program care răspunde la m întrebări de tipul “Care este elementul minim din intervalul [x , y]?”.

Date de intrare
Pe prima linie a fișierului afisminime.in sunt date numerele n și m. Pe a doua linie se vor afla n numere naturale, fiind elementele vectorului. Următoarele m linii vor conține câte 2 numere reprezentând valorile x și y, care definesc întrebările.

Date de ieșire
În fișierul de ieșire afisminime.out, vor fi m linii, fiecare conținând câte un număr, pe linia i aflându-se răspunsul pentru întrebarea i.

Restricții și precizări
1 ≤ n ≤ 100000
1 ≤ m ≤ 1000000
1 ≤ x , y ≤ n



Exemplu
afisminime.in

5 4
1 3 18 2 3
1 5
2 3
3 4
2 4
afisminime.out

1
3
2
2
Explicație
în intervalul [1 , 5] minimul este 1
în intervalul [2 , 3] minimul este 3
în intervalul [3 , 4] minimul este 2
în intervalul [2 , 4] minimul este 2

#include
#include
#include
using namespace std;
ifstream fin("afisminime.in");
ofstream fout("afisminime.out");
int minim(int v[],int x,int y,int n)
{
int min=INT_MAX;
for(int i=x;i<=y;i++)
{
if(v[i] {
min=v[i];
}
}
return min;
}
int v[100];
int main()
{
int n,m,i,x,y,j;
fin>>n>>m;
for(i=1;i<=n;i++)
{
fin>>v[i];
}
for(i=1;i<=m;i++)
{
fin>>x>>y;
fout< }
return 0;
}
Solutia mea de 20p.


Răspuns :

Pentru

1 ≤ n ≤ 100000

vectorul

int v[100];

este mult mai mic si trebuie definit asa

int v[100001];

Si apelul la functie trebuie sa arate asa:

fout<<minim(v, min(x,y),max(x,y));

deoarece in restrictia 1 ≤ x , y ≤ n nu este specificata ordinea

Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.


Wix Learning: Alte intrebari