599C - Day at the Beach - CodeForces Solution


sortings *1600

Please click on ads to support us..

Python Code:

n, s, v = int(input()), 0, 0
a = list(map(int, input().split()))
for ai, bi in zip(a, sorted(a)):
    s += bi - ai
    v += not s
print(v)
  			    	    	 				 	   				 	

C++ Code:

#include <bits/stdc++.h>
#define ll long long
#define ld long double
#define pii pair<int, int>
#define pll pair<ll int, ll int>
#define ff first
#define ss second
#define pb push_back
#pragma GCC optimize("O2")
using namespace std;
// debug template
#ifdef POTATO
#include "debug.h"
#define debug(...) cerr << "[" << #__VA_ARGS__ << "] = ["; _print(__VA_ARGS__)
#else
#define debug(...)
#endif
// convenient functions
inline void yes() { cout << "YES\n"; return; }
inline void no() { cout << "NO\n"; return; }
template <class T>
inline void out(T temp) { cout << temp << '\n'; return; }
// globals
void init() {
	// initialize
	
}
void solve() {
	// solve
	int n; cin >> n;
	int a[n + 1];
	for (int i = 1; i <= n; i++) cin >> a[i];
	int pref[n + 2], suff[n + 2];
	pref[0] = 0;
	for (int i = 1; i <= n; i++) pref[i] = max(pref[i - 1], a[i]);
	suff[n + 1] = 1.5e9;
	for (int i = n; i >= 1; i--) suff[i] = min(suff[i + 1], a[i]);
	int ans = 0;
	for (int i = 1; i <= n; i++) {
		ans += (pref[i] <= suff[i + 1]);
	}
	out(ans);
}
int32_t main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	srand(time(NULL));
	#ifdef POTATO
		auto start = chrono::high_resolution_clock::now();
	#endif

	init();
	int t = 1;
	// cin >> t;
	while (t--) solve();

	#ifdef POTATO
		auto end = chrono::high_resolution_clock::now();
		cerr << "Execution time: "
			<< chrono::duration_cast<chrono::milliseconds>(end - start).count()
			<< " ms" << endl;
	#endif
}
/*

*/


Comments

Submit
0 Comments
More Questions

118D - Caesar's Legions
1598A - Computer Game
1605A - AM Deviation
1461A - String Generation
1585B - Array Eversion
1661C - Water the Trees
1459A - Red-Blue Shuffle
1661B - Getting Zero
1661A - Array Balancing
1649B - Game of Ball Passing
572A - Arrays
1455A - Strange Functions
1566B - MIN-MEX Cut
678C - Joty and Chocolate
1352E - Special Elements
1520E - Arranging The Sheep
1157E - Minimum Array
1661D - Progressions Covering
262A - Roma and Lucky Numbers
1634B - Fortune Telling
1358A - Park Lighting
253C - Text Editor
365B - The Fibonacci Segment
75A - Life Without Zeros
1519A - Red and Blue Beans
466A - Cheap Travel
659E - New Reform
1385B - Restore the Permutation by Merger
706A - Beru-taxi
686A - Free Ice Cream