Pagini recente » Cod sursa (job #3284510) | Cod sursa (job #3250793) | Cod sursa (job #53523) | Cod sursa (job #2750490) | Cod sursa (job #389003)
Cod sursa(job #389003)
#include<fstream>
using namespace std;
ifstream fin ("rmq.in");
ofstream fout ("rmq.out");
int n,m,a,b,min1,c1,ok;
int main () {
fin>>n>>m;
int *v= new int [n];
int *v2= new int [n];
for (int i2=1;i2<=n;i2++){
fin>>v[i2];
if (v[i2]==1) v2[c1++]=i2;
}
for (int i=1;i<=m;i++){
fin>>a>>b;
ok=0;
for (int i3=0;i3<c1;i3++) { if (v2[i3]>=a && v2[i3]<=b) {fout<<"1\n"; ok=1; break;}}
if (ok==0) {
min1=v[a];
if (v[a]==1) fout<<"1\n";
else {
for (int j=a;j<=b;j++)
if (v[j]==1) {fout<<"1\n"; j=b+1;}
else if (v[j]<min1) min1=v[j];
fout<<min1<<'\n';
} }
}
delete[] v;
fin.close();
fout.close();
return 0;
}