1607: 大二下之悬梁刺股
Time Limit: 1 Sec Memory Limit: 128 MB [Submit][Status][Web Board]
Description
这个时候应该在干嘛呢,没事无聊就去数数吧,给你N个数Ai,我有Q个询问,你告诉我,我问的每个位置的数在他前面比他大的数的个数。(n<10000,q<100000,Ai<10000)
Input
一个N
接下来N个数
再一个Q
Q个数,表示数组里的第i个位置的数〈i的范围是[1,n]〉
-1结束输入
Output
输出第i个数前面比他大的数的个数
Sample Input
3
3 2 1
3
1 2 3
-1
Sample Output
0
1
2
【分析】
没什么坑的题目...之所以写这道题只是因为这是个系列....强迫症又犯了..
【代码】
#include <stdio.h> #include <string.h> using namespace std; int main() { int n; while (~scanf("%d",&n)) { if (n==-1) return 0; int a[20000]; int f[20000]={0}; for (int i=0;i<n;i++) { scanf("%d",&a[i]); for (int j=0;j<i;j++) if (a[j]>a[i]) f[i]++; } int p;scanf("%d",&p); for (int i=0;i<p;i++) { int x;scanf("%d",&x); printf("%d\n",f[x-1]); } } return 0; }
2
HINT
2
HINT
Source
[
Submit][
Status][
Web Board]
转载请注明原文地址: https://ju.6miu.com/read-970739.html