E.ボクサー(Codeforcesラウンド#579)

あり  nは n個のボクサーの重量  I i番目のボクサーがある  aiが。それらのそれぞれは超えないで重量を変更することができます  1(重量がゼロに等しくなることができない、つまり、それは正のままでなければならない)競技の前に1。重量は常に整数です。

チーム内のすべてのボクサーの重みが異なる(すなわちユニーク)であることを、人々の数の面で最大のボクシングチームを選択することが必要です。

与えられた電流値のためのプログラム書く私は AIがチームのボクサーの最大可能な数がありますが。

いくつかの変更後に、いくつかのボクサーの重量があるないことがある  150001 150001(しかし、それ以上)。

入力

最初の行は、整数含ま  N、N(1 N 150000ボクサーの数- 1≤n≤150000)。次の行が含まれ  、N nは整数  1 2 ... n個の A1、A2、...、  iは Al(1 iは150000 1≤ai≤150000が)の重量であり、  I I-第ボクサー。

出力

チームの人々の可能な最大数 - 単一の整数を出力します。

入力
コピー
4 
3 2 4 1
出力
コピー
4
入力
コピー
6 
1 1 1 4 4 4
出力
コピー
5
注意

最初の例では、ボクサーは、その重みを変更しないでください - あなたはそれらのすべての外にチームを作ることができます。

第2の例では、の重量を有するものボクサー  1 1 1(重量得ることによって増大させることができる  2 2)の重量を有するものボクサー  4 4は、いずれかによって低減することができ、他方は(1だけ増加させることができます重量とボクサーを得  3 3及び  5)は、それぞれ、5。したがって、あなたはの重みでボクサーからなるチームが得ることができます  5 4 3 2 1 5,4,3,2,1を。

 

#include <ビット/ STDC ++。H> 
の#include <iostreamの> 
する#include <アルゴリズム> 
の#include <cstdioを> 
する#include < ストリング > 
の#include <CStringの> 
する#include <cstdlib> 
の#include <地図> 
の#include <ベクトル> 
#含める < セット > 
の#include <キュー> 
の#include <スタック> 
の#include <cmath> 
typedefの長い 長いLL。
使用して 名前空間はstdを、
const  int型 INT = 1E6 + 5 LSONのRT << 1、L、M  
 の#define rsonのRT << 1 | 1、M + 1、R用
 の#define読み取る(X)のscanf( "%dの"、およびX)
 の#define LREAD(X)のscanf( "%のLLD "、&バツ);
#define PT(X)のprintf( "%d個の\ n"、(X))
 の#define CN CIN >>
 の#define CT COUT <<
 の#define EN << ENDL
 の#define担当者(J、K)のための式(I = int型(INT)〜(j)は、iが<=(INT)(K); iは++)
 の#define入力(k)はのために(INT i = 1; iは=(INT <)(K); iが++){CIN >> [私] ; }
 の#define MEM(S、T)のmemset(S、T、はsizeof(S))
 の#define戻り0再。
#define TLEのstd ::イオス:: sync_with_stdio(偽); cin.tie(NULL); cout.tie(NULL);
BOOL VIS [ 151000 ]。
INT メイン()
{ 
    TLE。
    int型のn; 
    scanf関数(" %のD "、&N)
    以下のためにint型 I = 1(のscanf ++ I; iは= N <)" は%d "、&[I])。
    ソート( + 1、A + 1個の + N)。
    int型の合計= 0 ;
    以下のためにint型 i = 1 ; iは= N <; ++ I){
         もし!(VIS [I] - 1!] && [I] =1){VIS [[I] - 1 ] = 合計++; 続け; }
         もし(!VIS [I]]){VIS [[I] = 合計++; 続け; }
         場合(VIS [[I] +!1 {VIS [[I] +])1 ] = 合計++; 続け; } 
    } 
    COUT <<和<< ENDL。
    リターン 0 ; 
}

 

おすすめ

転載: www.cnblogs.com/Shallow-dream/p/11416516.html