Bzoj4396 [Usaco2015 Dec] High Card Wins

Source: Internet
Author: User
Tags rounds cmath

Bzoj4396 [Usaco2015 Dec] High Card Wins

 

4396: [usaco dec] High Card Wins Description

Bessie the cow is a huge fan of card games, which is quite surprising, given her lack of opposable thumbs. unfortunately, none of the other cows in the herd are good opponents. they are so bad, in fact, that they always play in a completely predictable fashion! Nonetheless, it can still be a challenge for Bessie to figure out how to win.
Bessie and her friend Elsie are currently playing a simple card game where they take a deck of 2N cards, conveniently numbered 1... 2N, and divide them into N cards for Bessie and N cards for Elsie. the two then play N rounds, where in each round Bessie and Elsie both play a single card, and the player with the highest card earns a point.
Given that Bessie can predict the order in which Elsie will play her cards, please determine the maximum number of points Bessie can win.

 

Bessie and Elsie are playing a card game. There are a total of 2N cards with 1 to 2N points, each of which is allocated to N cards.

The game is divided into N rounds, because Bessie is so smart that she can even predict the number of Elsie cards each round.

In each round of the game, the two cows have a card, and the number of points wins.

Bessie wants to know how many rounds he can win?

 

Input

The first line of input contains the value of N (1 ≤ N ≤ 50,000 ).
The next N lines contain the cards that Elsie will play in each of the successive rounds of the game. Note that it is easy to determine Bessie's cards from this information.

Output

Output a single line giving the maximum number of points Bessie can score.

Sample Input3
1
6
4 Sample Output2HINT

 

Here, Bessie must have cards 2, 3, and 5 in her hand, and she can use these to win at most 2 points by saving the 5 until the end to beat Elsie's 4.

Problem credits: Austin Bannister and Brian Dean

Source greedy. Sort two people by arrays a and B. Each time we take a minimum value from array a, we take a minimum value greater than this value from array B until all the numbers in array B are smaller than those in array. (You can understand it)
#include
 
  #include
  
   #include
   
    #include
    
     #include
     
      #include#define F(i,j,n) for(int i=j;i<=n;i++)#define D(i,j,n) for(int i=j;i>=n;i--)#define ll long long#define pa pair
      
       #define maxn 100005#define inf 1000000000using namespace std;int n,x,cnta,cntb,j=0,ans=0;int a[maxn],b[maxn];bool f[maxn];inline int read(){int x=0,f=1;char ch=getchar();while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}while (ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}return x*f;}int main(){n=read();F(i,1,n){x=read();f[x]=true;}F(i,1,2*n){if (f[i]) a[++cnta]=i;else b[++cntb]=i;}F(i,1,n){j++;while (j<=n&&b[j]n) break;ans++;}printf("%d\n",ans);}
      
     
    
   
  
 

 

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.