TAP2013G - War

no tags 

[The original version of this problem (in Spanish) can be found at http://www.dc.uba.ar/events/icpc/download/problems/tap2013-problems.pdf]

War, an event worthy only of appearance in literature, movies or perhaps programming contests, has reached the Nlogonian empire, which is facing the neighboring empire of Quadradonia.

War protocols agreed upon by both parties indicate that the war will be waged in successive battles, in each of which a different soldier from each empire will face one another, so that each soldier will take part in exactly one battle. The empire that wins more battles will then win the war.

Each empire has an army formed by S soldiers, and each soldier has a certain combat skill. In each battle between two soldiers, the one with greatest combat skill wins the battle. If both soldiers have the same combat skills, the battle is declared a draw and technically no side claims victory. The spies of Nlogonia have intercepted secret information concerning the combat skill of each soldier of Quadradonia's army, so Nlogonia's queen requires your assistance in order to calculate the maximum number of battles that can be won during the war if her soldiers are sent in the appropriate order.



The first line contains an integer number S representing the number of soldiers in each army (1 ≤ S  105). The second line contains S integer numbers Qi representing the combat skills of the different soldiers of Quadradonia's army, in the order in which the battles shall take place ( Qi  109 for i = 1, ..., S). The third line contains S integer numbers Ni representing the combat skills of the different soldiers in Nlogonia's army, in an arbitrary order ( Ni  109 for i = 1, ..., S).



Print a line containing a single integer number representing the maximum number of battles that Nlogonia can win during the war.


Example 1

2 1 1000000000
1 1 2


Example 2

6 3 1 4
2 7 4 3


hide comments
---@@@----: 2015-06-04 16:44:21

Easy .. :)

Sayak Haldar: 2015-01-02 06:51:38

I got ac with O(nlogn)+O(n) approach,but when is comes to O(nlogn)+O(logn) approach it is giving so much wa..:/

Last edit: 2015-01-02 07:01:20
Prajval Prabhakar: 2014-09-29 17:03:31

ac in first go :)

nikhil_nihal: 2014-09-29 17:03:31

getting WA in 35th running..
any help pls..

[Lakshman]: 2014-09-29 17:03:31

@Sahil Dua Yes there is much faster way to do this instead of linear comparison (which is O(n)) you can use Binary search which is O(log n) .

Sahil Dua: 2014-09-29 17:03:31

I am getting TLE at one of the last test cases. I am just sorting two arrays and comparing their elements with a logic. Seems to be a O(nlogn) solution. Better approach?

EDIT: Ok, finally got AC but in 0.39s. How to improve timing?

Last edit: 2014-07-14 08:19:07
pvkcse: 2014-09-29 17:03:31

same logic in c# got AC but in python it is WA...!!!

ivar.raknahs: 2014-09-29 17:03:31

think mathematically:)
AC in first attempt.

innovolt: 2014-09-29 17:03:31


Added by:Fidel Schaposnik
Time limit:1s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ASM64
Resource:Argentinian Programming Tournament 2013