Submission #82221

# Submission time Handle Problem Language Result Execution time Memory
82221 2018-10-29T14:22:36 Z thiago4532 Doktor (COCI17_doktor) C++17
60 / 100
4 ms 1404 KB
#include <bits/stdc++.h>

using namespace std;
const int maxn = 2*5010;
int v[maxn], pref[maxn], n;
vector<int> c[maxn];

inline int qq(int a, int b){
	return pref[b] - pref[a-1];
}

int main(){
	ios::sync_with_stdio(false), cin.tie(0);
	cin >> n;
	
	for(int i=1;i<=n;i++){
		cin >> v[i<<1];
		v[i<<1] *= 2;
		
		int centro = (v[(i<<1)] + (i<<1))/2;
		c[centro].push_back(abs(centro - (i<<1)));
	}

	for(int i=1;i<=n;i++)
		if(v[i<<1] == (i<<1)) pref[i<<1] = 1;
	for(int i=1;i<=2*n;i++)
		pref[i] += pref[i-1];

	int ans=0, a, b;
	for(int i=1;i<=2*n;i++){
		sort(c[i].begin(), c[i].end());
		for(int j=0;j<c[i].size();j++){
			int qtd = j + 1 - qq(i-c[i][j], i+c[i][j]) + (!(i&1) && v[i] == i);

			if(qtd > ans){
				ans = qtd;
				a = i-c[i][j];
				b = i+c[i][j];
			}
		}
	}

	cout << v[a]/2 << " " << v[b]/2 << "\n";
	return 0;
}

Compilation message

doktor.cpp: In function 'int main()':
doktor.cpp:32:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int j=0;j<c[i].size();j++){
               ~^~~~~~~~~~~~
doktor.cpp:43:30: warning: 'b' may be used uninitialized in this function [-Wmaybe-uninitialized]
  cout << v[a]/2 << " " << v[b]/2 << "\n";
                           ~~~^
doktor.cpp:43:13: warning: 'a' may be used uninitialized in this function [-Wmaybe-uninitialized]
  cout << v[a]/2 << " " << v[b]/2 << "\n";
          ~~~^
# Verdict Execution time Memory Grader output
1 Correct 2 ms 500 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 628 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 704 KB Output is correct
2 Correct 2 ms 704 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 852 KB Output is correct
2 Correct 2 ms 928 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 1004 KB Output is correct
2 Correct 3 ms 1004 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 1004 KB Output is correct
2 Correct 2 ms 1004 KB Output is correct
# Verdict Execution time Memory Grader output
1 Runtime error 3 ms 1388 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 3 ms 1388 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 3 ms 1388 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 4 ms 1404 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -