Pagini recente » Cod sursa (job #714958) | Cod sursa (job #1233983) | Istoria paginii runda/cocurs/clasament | Cod sursa (job #2552428) | Cod sursa (job #804363)
Cod sursa(job #804363)
#include <iostream>
#include <fstream>
using namespace std;
int a[10005];
int dp[10005][10005];
int main()
{
int n,m;
ifstream f("rmq.in");
ofstream g("rmq.out");
f>>n>>m;
for(int i=1;i<=n;i++)
{
f>>a[i];
dp[i][i]=i;
}
for(int i=1;i<=n;i++)
{
for(int j=i+1;j<=n;j++)
if( a[dp[i][j-1]] < a[j])
{
dp[i][j]=dp[i][j-1];
}
else
dp[i][j]=j;
}
for(int i=1;i<=m;i++)
{
int x,y;
f>>x>>y;
g<<a[dp[x][y]]<<"\n";
}
return 0;
}