제출 #902064

#제출 시각아이디문제언어결과실행 시간메모리
902064IsamIzbori (COCI22_izbori)C++17
25 / 110
3062 ms2532 KiB
#include<bits/stdc++.h>
using namespace std;

int N, A[200005];
long long pref[200005];


signed main(){
	ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	cin >> N;
	for(register int i = 1; i <= N; ++i) cin >> A[i];
	
	if(N < 200005){
		int cur_dom(0), ans(0);
		for(int i = 1; i <= N; ++i){
			map<int, int> mp;
			for(register int j = i; j <= N; ++j){
				mp[A[j]]++;
				if(mp[A[j]] > mp[cur_dom]) cur_dom = A[j];
				ans += (mp[cur_dom] > ((j - i + 1) / 2));
			}
		}
		cout << ans << '\n';	
    }else{
    	for(register int i = 1; i <= N; ++i) A[i] = (A[i] == 1 ? 1 : -1), pref[i] = pref[i - 1] + A[i];
    	map<int, int> mp;
    	long long ans(0);
    	for(register int i = 1; i <= N; ++i){
    		mp[pref[i]]++;
    		ans += mp[pref[i]];
		}
    	cout << ans << '\n';
	}
	return 0;
}
/*

1 1 2 1 2

-1 -1 1 -1 1


abs(pref[r] - pref[l]) >= 1;

pref[r] != pref[l]

ans = n * (n + 1) / 2 - regular_brackets





*/

컴파일 시 표준 에러 (stderr) 메시지

Main.cpp: In function 'int main()':
Main.cpp:11:19: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   11 |  for(register int i = 1; i <= N; ++i) cin >> A[i];
      |                   ^
Main.cpp:17:21: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   17 |    for(register int j = i; j <= N; ++j){
      |                     ^
Main.cpp:25:23: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   25 |      for(register int i = 1; i <= N; ++i) A[i] = (A[i] == 1 ? 1 : -1), pref[i] = pref[i - 1] + A[i];
      |                       ^
Main.cpp:28:23: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   28 |      for(register int i = 1; i <= N; ++i){
      |                       ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...