/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 532.0 KiB
#2 Accepted 1ms 536.0 KiB
#3 Accepted 1ms 348.0 KiB
#4 Accepted 1ms 532.0 KiB
#5 Accepted 1ms 532.0 KiB
#6 Accepted 1ms 488.0 KiB
#7 Accepted 1ms 560.0 KiB
#8 Accepted 1ms 532.0 KiB
#9 Accepted 1ms 320.0 KiB
#10 Accepted 1ms 532.0 KiB
#11 Accepted 1ms 536.0 KiB
#12 Accepted 1ms 532.0 KiB
#13 Accepted 1ms 532.0 KiB
#14 Accepted 1ms 532.0 KiB
#15 Accepted 1ms 324.0 KiB
#16 Accepted 1ms 484.0 KiB
#17 Accepted 1ms 532.0 KiB
#18 Accepted 1ms 392.0 KiB
#19 Accepted 1ms 532.0 KiB
#20 Accepted 1ms 528.0 KiB
#21 Accepted 2ms 576.0 KiB
#22 Accepted 18ms 1.02 MiB
#23 Accepted 20ms 1.254 MiB
#24 Accepted 17ms 1.27 MiB
#25 Accepted 38ms 1.77 MiB
#26 Accepted 11ms 1.066 MiB
#27 Accepted 10ms 532.0 KiB
#28 Accepted 17ms 1.023 MiB
#29 Accepted 18ms 1.27 MiB
#30 Accepted 22ms 1.906 MiB
#31 Accepted 31ms 1.52 MiB
#32 Accepted 24ms 1.77 MiB
#33 Accepted 27ms 1.52 MiB
#34 Accepted 21ms 1.316 MiB
#35 Accepted 23ms 2.02 MiB

Code

#include<bits/stdc++.h>
using namespace std;

/*#ifndef ONLINE_JUDGE
#include "DEBUG.h"
#define bug(...)           __f (#__VA_ARGS__, __VA_ARGS__)
#endif
*/
#define first_in_out       ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define ll                 long long int
#define double             long double
#define min_heap           priority_queue <ll, vector<ll>, greater<ll>>
#define print(a)           for(auto x : a) cout << x << " ";
#define printpair(a)       for(auto x : a) cout << x.first << " " << x.second<<"\n";



void solve()
{
	int n , k;
	cin >> n >> k;

	int a[n], b[n];

	for (int i = 0; i < n; i++)
	{
		cin >> a[i];
		b[i] = a[i];
	}

	sort(b, b + n);

	int i = 0, j = n - 1;
	int l = -1, r = 1e9;
	while (i < j)
	{
		if (a[i] == b[i])
			i++;
		else if (l == -1)
			l = i;

		if (a[j] == b[j])
			j--;
		else if (r == 1e9)
			r = j;

		if (l != -1 and r != 1e9)
			break;
	}




	if (r - l + 1 <= k) {
		cout << "YES" << "\n";
		cout << l + 1 << " " << r + 1 << "\n";
	}
	else
		cout << "NO" << "\n";
}


int main()
{
	first_in_out
	//clock_t z = clock();

	int t = 1;
	//cin >> t;

	while (t--)
		solve();

	//cerr << "Run Time : " << ((double)(clock() - z) / CLOCKS_PER_SEC);
}

Information

Submit By
Type
Submission
Problem
P1120 Stairway to the Skyline
Contest
Brain Booster #7
Language
C++17 (G++ 13.2.0)
Submit At
2024-11-05 15:16:39
Judged At
2024-11-05 15:16:39
Judged By
Score
100
Total Time
38ms
Peak Memory
2.02 MiB