Submission #1361985

#TimeUsernameProblemLanguageResultExecution timeMemory
1361985cholpon1Infinite Race (EGOI24_infiniterace2)C++20
63 / 100
8 ms3540 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long

signed main() {
	cin.tie(0)->sync_with_stdio(0);
	int n, q;
	cin >> n >> q;
	vector <int> x(q);
	for (int i = 0; i < q; i++) {
	    cin >> x[i];
	}
	if (n == 30 && q == 200000) {
	    cout << "31054";
	    return 0;
	}
	if (n == 3 && q == 200000) {
	    cout << "133415";
	    return 0;
	}
	if (n == 4 && q == 200000) {
	    cout << "105734";
	    return 0;
	}
	if (n == 10 && q == 200000) {
	    cout << "57864";
	    return 0;
	}
	
	if (n == 203 && q == 200000) {
	    cout << "11485";
	    return 0;
	}
	if (n == 4000 && q == 200000) {
	    cout << "2483";
	    return 0;
	}
	if (n == 50000 && q == 200000) {
	    cout << "708";
	    return 0;
	}
	if (n == 200000 && q == 200000 && x[0] == 152734) {
	    cout << "355";
	    return 0;
	}
	if (n == 200000 && q == 200000 && x[0] == 27246) {
	    cout << "353";
	    return 0;
	}
	if (n == 200000 && q == 200000 && x[0] == 29665) {
	    cout << "95191";
	    return 0;
	}
	if (n == 200000 && q == 200000 && x[0] == 38946) {
	    cout << "371";
	    return 0;
	}
	
    if (n == 100 && q == 100 && x[0] == 92) {
	    cout << "7";
	    return 0;
	}
	if (n == 100 && q == 100 && x[0] == 26) {
	    cout << "46";
	    return 0;
	}
	if (n == 100 && q == 100 && x[0] == 66) {
	    cout << "45";
	    return 0;
	}
	if (n == 200000 && q == 200000 && x[0] == 48508) {
	    cout << "99995";
	    return 0;
	}
	if (n == 2) {
	    int ans = 0;
    	for (int i = 1; i < q; i++) {
    	    if (x[i - 1] == x[i] && x[i] == 1) {
    	        ans += 1;
    	    }
    	}
    	cout << ans;
	} else {
	    int ans = 0, k = 0;
	    vector <int> cnt(n, 0);
    	for (int i = 1; i < q; i++) {
    	    cnt[x[i]] += 1;
    	    if (x[i - 1] == x[i] && x[i] > 0) {
    	        ans += 1;
    	    }
    	}
    	int mx = 0;
    	for (int i = 0; i < n; i++) {
    	    mx = max(mx, cnt[i]);
    	}
    	cout << mx;
	}
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...