Submission #934716

#TimeUsernameProblemLanguageResultExecution timeMemory
934716IsamCipele (COCI18_cipele)C++17
27 / 90
1064 ms1116 KiB
#include<bits/stdc++.h>

using namespace std;

int N, M, L[100001], R[100001];
long long ans = 1e15;

// comma operator
//	int p = 11;
//	p = (1, 2, 3);
//	cout << p << '\n';


long long get(int l){
	long long tmp(0);
	for(register int i = 1; i <= N; ++i) tmp = max(tmp, (long long)abs(L[i] - R[l + i - 1]));
	return tmp;
}

signed main(){
	ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	cin >> N >> M;
	if(N > M){
		swap(N, M);
		for(register int i = 1; i <= M; ++i) cin >> R[i];
		for(register int i = 1; i <= N; ++i) cin >> L[i];
	}else{
		for(register int i = 1; i <= N; ++i) cin >> L[i];
		for(register int i = 1; i <= M; ++i) cin >> R[i];
	}
	sort(L+1,L+N+1), sort(R+1,R+M+1);
	if(N == M && N == 1){
		cout << abs(L[1] - R[1]) << '\n';
		return 0;
	}
	for(register int l = 1; l + N - 1 <= M; ++l) ans = min(ans, get(l));
	shuffle(L+1, L + N + 1, default_random_engine(random_device()()));
	shuffle(R+1, R + M + 1, default_random_engine(random_device()()));
	for(register int l = 1; l + N - 1 <= M; ++l) ans = min(ans, get(l));
	cout << ans << '\n';
	return 0;
}

Compilation message (stderr)

cipele.cpp: In function 'long long int get(int)':
cipele.cpp:16:19: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   16 |  for(register int i = 1; i <= N; ++i) tmp = max(tmp, (long long)abs(L[i] - R[l + i - 1]));
      |                   ^
cipele.cpp: In function 'int main()':
cipele.cpp:25:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   25 |   for(register int i = 1; i <= M; ++i) cin >> R[i];
      |                    ^
cipele.cpp:26:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   26 |   for(register int i = 1; i <= N; ++i) cin >> L[i];
      |                    ^
cipele.cpp:28:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   28 |   for(register int i = 1; i <= N; ++i) cin >> L[i];
      |                    ^
cipele.cpp:29:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   29 |   for(register int i = 1; i <= M; ++i) cin >> R[i];
      |                    ^
cipele.cpp:36:19: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   36 |  for(register int l = 1; l + N - 1 <= M; ++l) ans = min(ans, get(l));
      |                   ^
cipele.cpp:39:19: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   39 |  for(register int l = 1; l + N - 1 <= M; ++l) ans = min(ans, get(l));
      |                   ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...