#include<bits/stdc++> using namespace std; //这道题表述极其含糊不清。区间[l,r]其实是指下标[l,r] //题目求得是 序列的下标l对应的值到下标r对应的值,这个区间内,最小的元素。 typedef struct Node{ int index; //下标 int data; //元素的值 } infor; int main() { int n,q,l,r; while(scanf("%d",&n) != EOF) { infor arr[n]; for(int i=0; i<n; i++) { scanf("%d", &arr[i].data); arr[i].index = i+1; //因为下标从1开始 } sort(arr, arr+n); //对下标区间内的值 从小到大排序 scanf("%d", &q); while(q--) { scanf("%d %d", &l, &r); for(int i=0; i<n; i++) { if(arr[i].index>=l && arr[i].index<=r) { //对下标进行比较 printf("%d\n", arr[i].data); break; } } } } } /* Main.cc:1:9: fatal error: bits/stdc++: No such file or directory #include<bits/stdc++> ^~~~~~~~~~~~~ compilation terminated. */ |
Double click to view unformatted code.