NC219641. 天使果冻
描述
Angelic Jelly有 个果冻排成一排。第 个果冻的美味度是 。
输入描述
第一行一个正整数 。第二行 个正整数 ,用空格隔开。第三行一个正整数 。接下来的 行,每行一个正整数 ,代表一次询问。数据范围:1≤q≤1e5,1≤ai≤1e9,2≤x≤n≤1e5
输出描述
输出 行,每行一个正整数,代表一次询问,输出前个果冻中美味度第二大的值。
示例1
输入:
5 1 2 5 3 5 4 2 3 4 5
输出:
1 2 3 5
说明:
C++(clang++11) 解法, 执行用时: 188ms, 内存消耗: 3192K, 提交时间: 2021-03-24 19:16:40
#include<iostream> using namespace std; const int N=1e5; int ans[N]; int main(){ int n,a=0,b=0,t; cin>>n; for(int i=1;i<=n;i++){ cin>>t; if(t>a)b=a,a=t; else if(t>b)b=t; ans[i]=b; } int q; cin>>q; while(q--){ cin>>t; cout<<ans[t]<<endl; } return 0; }
Python3(3.9) 解法, 执行用时: 703ms, 内存消耗: 16056K, 提交时间: 2021-04-11 15:22:01
n=int(input()) a=list(map(int,input().split())) ans=[0 for _ in a] ma1=a[0] ma2=0 for i,v in enumerate(a[1:],start=1): if v>ma1: ma1,ma2=v,ma1 elif v>ma2: ma2=v ans[i]=ma2 for _ in range(int(input())): x=int(input()) print(ans[x-1])