5256 | 2023-04-24 12:14:30 | ZsofiaKeresztely | Mágikus táblázat | cpp14 | Időlimit túllépés 0/100 | 600ms | 52096 KiB |
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int n, m;
vector<int> a, b;
bool ok(int mid){
for (int i=1; i * i <= mid; i++){
if (mid % i) continue;
map<int, int> ma;
//a-ban a minimumot maximalizálom, b-men a maximumot minimalizálom
int amax = -1e9, bmin = 1e9;
if (i <= n && mid / i <= m){
for (int j=0; j<i; j++){
ma[a[j]]++;
}
amax = max(amax, ma.begin()->first);
for (int j=i; j<n; j++){
ma[a[j]]++;
ma[a[j-i]]--;
if (!ma[a[j-i]]) ma.erase(a[j-i]);
amax = max(amax, ma.begin()->first);
}
ma.clear();
for (int j=0; j<mid/i; j++){
ma[b[j]]++;
}
bmin = min(bmin, ma.rbegin()->first);
for (int j=mid/i; j<m; j++){
ma[b[j]]++;
ma[b[j-i]]--;
if (!ma[b[j-i]]) ma.erase(b[j-i]);
bmin = min(bmin, ma.rbegin()->first);
}
}
if (mid / i <= n && i <= m){
for (int j=0; j<mid/i; j++){
ma[a[j]]++;
}
amax = max(amax, ma.begin()->first);
for (int j=mid/i; j<n; j++){
ma[a[j]]++;
ma[a[j-i]]--;
if (!ma[a[j-i]]) ma.erase(a[j-i]);
amax = max(amax, ma.begin()->first);
}
ma.clear();
for (int j=0; j<i; j++){
ma[b[j]]++;
}
bmin = min(bmin, ma.rbegin()->first);
for (int j=i; j<m; j++){
ma[b[j]]++;
ma[b[j-i]]--;
if (!ma[b[j-i]]) ma.erase(b[j-i]);
bmin = min(bmin, ma.rbegin()->first);
}
}
if (amax >= bmin) return true;
}
return false;
}
int main()
{
cin >> n >> m;
a.resize(n);
b.resize(m);
for (int &x : a){
cin >> x;
}
for (int &x : b){
cin >> x;
}
int l = 0, r = n * m + 1;
while (l + 1 < r){
int mid = (l + r) / 2;
if (ok(mid)){
l = mid;
}
else{
r = mid;
}
}
cout << l;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
subtask1 | 0/0 | ||||||
1 | Elfogadva | 3ms | 1812 KiB | ||||
2 | Időlimit túllépés | 600ms | 2484 KiB | ||||
subtask2 | 0/14 | ||||||
3 | Hibás válasz | 3ms | 2456 KiB | ||||
4 | Hibás válasz | 4ms | 2672 KiB | ||||
5 | Hibás válasz | 3ms | 2684 KiB | ||||
6 | Hibás válasz | 3ms | 2684 KiB | ||||
7 | Hibás válasz | 3ms | 2928 KiB | ||||
8 | Elfogadva | 3ms | 3144 KiB | ||||
subtask3 | 0/27 | ||||||
9 | Hibás válasz | 79ms | 3392 KiB | ||||
10 | Hibás válasz | 97ms | 3448 KiB | ||||
11 | Hibás válasz | 43ms | 3908 KiB | ||||
12 | Hibás válasz | 89ms | 3928 KiB | ||||
13 | Hibás válasz | 24ms | 3944 KiB | ||||
14 | Hibás válasz | 4ms | 4152 KiB | ||||
15 | Hibás válasz | 26ms | 4360 KiB | ||||
16 | Hibás válasz | 17ms | 4548 KiB | ||||
17 | Elfogadva | 35ms | 4452 KiB | ||||
subtask4 | 0/21 | ||||||
18 | Időlimit túllépés | 569ms | 5332 KiB | ||||
19 | Időlimit túllépés | 580ms | 6032 KiB | ||||
20 | Hibás válasz | 418ms | 8456 KiB | ||||
21 | Időlimit túllépés | 561ms | 8240 KiB | ||||
22 | Hibás válasz | 46ms | 10280 KiB | ||||
23 | Hibás válasz | 46ms | 11020 KiB | ||||
24 | Elfogadva | 14ms | 9792 KiB | ||||
subtask5 | 0/38 | ||||||
25 | Időlimit túllépés | 600ms | 19420 KiB | ||||
26 | Időlimit túllépés | 600ms | 21456 KiB | ||||
27 | Időlimit túllépés | 569ms | 23596 KiB | ||||
28 | Időlimit túllépés | 578ms | 25844 KiB | ||||
29 | Időlimit túllépés | 569ms | 24204 KiB | ||||
30 | Időlimit túllépés | 560ms | 26104 KiB | ||||
31 | Időlimit túllépés | 572ms | 28352 KiB | ||||
32 | Időlimit túllépés | 564ms | 30776 KiB | ||||
33 | Időlimit túllépés | 568ms | 32068 KiB | ||||
34 | Hibás válasz | 107ms | 29280 KiB | ||||
35 | Időlimit túllépés | 559ms | 32872 KiB | ||||
36 | Időlimit túllépés | 564ms | 35948 KiB | ||||
37 | Időlimit túllépés | 580ms | 38192 KiB | ||||
38 | Időlimit túllépés | 552ms | 38800 KiB | ||||
39 | Időlimit túllépés | 568ms | 45816 KiB | ||||
40 | Időlimit túllépés | 556ms | 45092 KiB | ||||
41 | Időlimit túllépés | 569ms | 46296 KiB | ||||
42 | Időlimit túllépés | 580ms | 45448 KiB | ||||
43 | Időlimit túllépés | 560ms | 49912 KiB | ||||
44 | Időlimit túllépés | 555ms | 52096 KiB |