您的位置:首页 > 其它

杭电5273

2015-10-31 14:38 260 查看
#include<stdio.h>

#include <string.h>

int main()

{

int n,q,l,r;

int a[1006];

int dp[1006][1006];

scanf("%d%d",&n,&q);

for(int i = 1; i <= n; i++)

{

scanf("%d",&a[i]);

}

memset(dp,0,sizeof(dp));

for(int i = 1; i <= n; i++)

{

for(int j = i+1; j <= n; j++)

{

dp[i][j] += dp[i][j-1];

if(a[i] > a[j]) dp[i][j]++;

}

}

for(int i = n; i >= 1; i--)

{

for(int j = i-1; j >= 1; j--)

{

dp[j][i] += dp[j+1][i];

}

}

for( ; q > 0; q--)

{

scanf("%d%d",&l,&r);

printf("%d\n",dp[l][r]);

}

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: