165762025-05-06 18:28:25algoproTornyokcpp17Hibás válasz 0/100500ms16276 KiB
// UUID: b0294b0a-e63f-48fa-b1b5-a5d307c09a7f
#include <bits/stdc++.h>
using namespace std;
const int inf=1e9+10;
int main() {
	ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	int n,k; cin>>n>>k;
	vector<int> v(n+1);
	for(int i=1; i<=n; i++)
	{
		cin>>v[i];
	}
	vector<int> ans(21);
	for(int h=1; h<=20; h++)
	{
		vector<int> a=v;
		int mo=0,cnt=1e7;
		v[0]=inf+cnt;
		for(int i=1; i<=n; i++)
			a[i]=(v[i]>h?inf+(--cnt):v[i]);
		vector<int> p(n+1);
		stack<int> s;
		s.push(0);
		for(int i=1; i<=n; i++)
		{
			while(!s.empty() && a[s.top()]<=a[i]) s.pop();
			if(a[i]<inf) p[i]=p[s.top()]+1;
			s.push(i);
			mo=max(mo,p[i]);
		}
		ans[h]=mo;
	}
	while(k--)
	{
		int x; cin>>x;
		if(x>20)
		{
			cout<<"MIAFASZ"<<endl;
		}
		cout<<ans[x]<<"\n";
	}
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/100
1Hibás válasz0/01ms316 KiB
2Futási hiba0/0342ms13728 KiB
3Hibás válasz0/21ms500 KiB
4Hibás válasz0/21ms316 KiB
5Futási hiba0/61ms316 KiB
6Futási hiba0/61ms316 KiB
7Futási hiba0/418ms1300 KiB
8Futási hiba0/435ms2024 KiB
9Futási hiba0/8141ms6616 KiB
10Futási hiba0/8209ms9936 KiB
11Futási hiba0/5321ms13708 KiB
12Időlimit túllépés0/5418ms16264 KiB
13Futási hiba0/561ms3304 KiB
14Futási hiba0/5141ms6708 KiB
15Futási hiba0/5208ms9936 KiB
16Futási hiba0/5259ms11364 KiB
17Futási hiba0/5344ms13736 KiB
18Időlimit túllépés0/5418ms16264 KiB
19Futási hiba0/5381ms16260 KiB
20Futási hiba0/5368ms16260 KiB
21Időlimit túllépés0/5400ms16276 KiB
22Időlimit túllépés0/5500ms16268 KiB