UOJ Logo

NOI.AC

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#210417#3788. 我可能是D题_Alexande_1002887ms31124kbC++112.0kb2024-08-06 12:23:592024-08-06 12:40:54

answer

#include <bits/stdc++.h>

using namespace std;

#define int long long
#define fir first
#define sec second
#define mkp make_pair 
#define pb push_back
#define lep( i, l, r ) for ( int i = ( l ); i <= ( r ); ++ i )
#define rep( i, r, l ) for ( int i = ( r ); i >= ( l ); -- i )

typedef long long ll;
typedef long double ld;
typedef pair < int, int > pii;

char _c; bool _f; template < class type > inline void read ( type &x ) {
	_f = 0, x = 0;
	while ( _c = getchar (), !isdigit ( _c ) ) if ( _c == '-' ) _f = 1;
	while ( isdigit ( _c ) ) x = x * 10 + _c - '0', _c = getchar (); if ( _f ) { x = -x; }
}

template < class type > inline void chkmin ( type &x, type y ) { x = ( x <= y ? x : y ); }
template < class type > inline void chkmax ( type &x, type y ) { x = ( x >= y ? x : y ); }

const int N = 1e6 + 5;

int n;
int a[N], b[N], c[N], d[N];
vector < int > f, g;

bool Check ( int mid ) {
  f.clear (), g.clear ();
  for ( int i = 1; i <= n; i ++ ) {
    if ( a[i] > mid ) {
      f.push_back ( a[i] );
    }
    if ( b[i] > mid ) {
      g.push_back ( b[i] );
    }
  }
  if ( ( f.size () & 1 ) || ( g.size () & 1 ) ) {
    return false;
  }
  for ( int i = 0; i < f.size (); i += 2 ) {
    if ( f[i] != f[i + 1] ) {
      return false;
    }
  }
  for ( int i = 0; i < g.size (); i += 2 ) {
    if ( g[i] != g[i + 1] ) {
      return false;
    }
  }
  return true;
}

void Solve () {
  ios :: sync_with_stdio ( false );
  cin.tie ( 0 ), cout.tie ( 0 );
  cin >> n;
  for ( int i = 1; i <= n; i ++ ) {
    cin >> a[i];
  }
  for ( int i = 1; i <= n; i ++ ) {
    cin >> b[i];
  }
  int l = -1, r = n + 1;
  while ( l + 1 < r ) {
    int mid = l + r >> 1;
    if ( Check ( mid ) ) {
      r = mid;
    }
    else {
      l = mid;
    }
  }
  cout << r;
}

signed main () {
#ifdef judge
  freopen ( "Code.in", "r", stdin );
  freopen ( "Code.out", "w", stdout );
  freopen ( "Code.err", "w", stderr );
#endif
  Solve ();
	return 0;
}

Details

小提示:点击横条可展开更详细的信息

Subtask #1:

score: 30
Accepted

Test #1:

score: 30
Accepted
time: 0ms
memory: 1268kb

input:

8
8  4  4  6  6  5  8  2
1  7  3  5  3  7  2  1

output:

6

result:

ok 1 number(s): "6"

Test #2:

score: 0
Accepted
time: 0ms
memory: 1264kb

input:

6
2  2  6  1  6  1
5  5  3  3  4  4

output:

1

result:

ok 1 number(s): "1"

Test #3:

score: 0
Accepted
time: 0ms
memory: 1272kb

input:

8
1  1  6  6  4  4  3  3
2  2  8  8  7  7  5  5

output:

0

result:

ok 1 number(s): "0"

Test #4:

score: 0
Accepted
time: 0ms
memory: 1264kb

input:

6
2  2  1  1  5  5
4  4  3  3  6  6

output:

0

result:

ok 1 number(s): "0"

Test #5:

score: 0
Accepted
time: 0ms
memory: 1264kb

input:

8
1  5  5  8  1  8  7  7
2  4  6  3  4  2  3  6

output:

4

result:

ok 1 number(s): "4"

Test #6:

score: 0
Accepted
time: 0ms
memory: 1268kb

input:

10
5  2  9  9  8  3  8  5  7  7
10  3  1  1  2  10  4  4  6  6

output:

5

result:

ok 1 number(s): "5"

Test #7:

score: 0
Accepted
time: 0ms
memory: 1268kb

input:

8
8  8  4  4  7  7  5  5
6  2  1  1  3  2  3  6

output:

3

result:

ok 1 number(s): "3"

Test #8:

score: 0
Accepted
time: 0ms
memory: 1272kb

input:

6
5  5  6  6  4  4
2  3  1  3  1  2

output:

2

result:

ok 1 number(s): "2"

Test #9:

score: 0
Accepted
time: 0ms
memory: 1268kb

input:

8
8  6  5  7  8  5  7  4
2  3  1  3  4  2  6  1

output:

7

result:

ok 1 number(s): "7"

Test #10:

score: 0
Accepted
time: 0ms
memory: 1268kb

input:

10
5  3  1  5  9  4  1  2  9  2
8  8  4  10  10  6  6  3  7  7

output:

4

result:

ok 1 number(s): "4"

Subtask #2:

score: 70
Accepted

Test #11:

score: 70
Accepted
time: 390ms
memory: 18876kb

input:

737172
591166  591166  314779  500354  500354  444684  376867  179299  83432  444684  541228  119435...

output:

401148

result:

ok 1 number(s): "401148"

Test #12:

score: 0
Accepted
time: 284ms
memory: 20328kb

input:

817160
336592  86064  430429  161510  365920  813186  374904  83170  437514  611813  250890  280848 ...

output:

760052

result:

ok 1 number(s): "760052"

Test #13:

score: 0
Accepted
time: 403ms
memory: 31124kb

input:

958446
272443  272443  938537  938537  108057  108057  575481  575481  271499  271499  813414  81341...

output:

12773

result:

ok 1 number(s): "12773"

Test #14:

score: 0
Accepted
time: 336ms
memory: 18508kb

input:

713814
461441  573254  573254  513511  15310  513511  402221  439194  284044  455271  548338  212392...

output:

473564

result:

ok 1 number(s): "473564"

Test #15:

score: 0
Accepted
time: 222ms
memory: 24040kb

input:

963580
885604  78285  286832  467363  55256  179487  85268  643812  183180  276505  234673  563562  ...

output:

875314

result:

ok 1 number(s): "875314"

Test #16:

score: 0
Accepted
time: 292ms
memory: 21816kb

input:

878538
342829  695013  335774  695013  129194  119910  197061  442313  423966  648576  146776  24958...

output:

517321

result:

ok 1 number(s): "517321"

Test #17:

score: 0
Accepted
time: 208ms
memory: 26128kb

input:

807572
418245  418245  508254  508254  104475  104475  438011  438011  128163  128163  729347  72934...

output:

42765

result:

ok 1 number(s): "42765"

Test #18:

score: 0
Accepted
time: 247ms
memory: 24448kb

input:

700942
455661  455661  28272  311687  311687  190573  292978  608363  608363  663350  37455  663350 ...

output:

305348

result:

ok 1 number(s): "305348"

Test #19:

score: 0
Accepted
time: 235ms
memory: 29324kb

input:

910142
521130  32278  521130  200249  200249  136273  136273  705627  705627  904306  904306  333391...

output:

39269

result:

ok 1 number(s): "39269"

Test #20:

score: 0
Accepted
time: 270ms
memory: 29060kb

input:

944974
858405  858405  308007  308007  59819  265218  85090  265218  311380  311380  792000  792000 ...

output:

125900

result:

ok 1 number(s): "125900"

Extra Test:

score: 0
Extra Test Passed