Cod sursa(job #585286)

Utilizator tzipleatudTudor Tiplea tzipleatud Data 28 aprilie 2011 20:37:32
Problema Arbori de intervale Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>

using namespace std;

ifstream f("inversari.in");
ofstream g("inversari.out");

int n,m,i,j,id[5001][5001]/*,d[5001][5001]*/,a[5001],mi;

int main () {
    f >> n >> m;
    for (i=1;i<=n;i++)
        f >> a[i];
    for (j=1;j<=n;j++)
       for (i=1;i<=j;i++)
           if(a[j-i+1]<=a[j]) id[i][j] = id[i-1][j];
                      else  id[i][j] = id[i-1][j]+1;
    for (i=1;i<=n;i++)
       for (j=1;j<=n;j++)
           id[i][j]=id[i-1][j-1]+id[i][j];
    for (mi=1;mi<=m;mi++) {
        f >> i >> j;
        g << id[j-i+1][j] << '\n';
    }
    f.close();g.close();
    return 0;
}