2017年北京E猫と魚のゲームネットワーク

制限時間:1000ミリ秒
時間のシングルポイント:1000ミリ秒
メモリの制限:256メガバイト

説明

PKUのキャンパスには多くのホームレス猫があります。PKUの猫クラブの学生が彼らの世話をので、彼らはすべて満足しています。李レイは、猫のクラブのメンバーの一人です。彼は非常に多く、それらの猫を愛しています。先週、彼は奨学金を獲得し、彼は猫と彼の喜びを共有したいと思いました。そこで彼は彼らを養うためにいくつかの本当においしい魚を買って、大きな喜びで食べて、それらを見ていました。同時に、彼は興味深い質問を見つけました:

そこメートルの魚とn猫があり、それが1匹の魚を食べるようにi番目の猫のためのCI分かかります。猫は(それが1を得ることができる場合)、それは1匹の魚を終えた直後に別の魚を食べることを開始します。猫は他の猫とその魚を共有することはありません。十分な魚の左が存在しない場合は、より速く食べる猫が遅く食べる猫よりも魚を得るために高い優先度を持っています。すべての猫が同時に食べ始めます。李レイは、x分後に、どのように多くの魚が残されることになる、知りたいと思いました。

エントリー

20以下のテストケースはありません。

各テストケースの場合:

上記m、nおよびX(0 <M <= 5000、1 <= N <= 100、0 <= X <= 1000):最初の行は、3つの整数を含みます。

二行目は、C2 ... CN、CIは、それが魚を食べるために、i番目の猫のCI分かかることを意味し、n個の整数のC1が含まれています(1 <= CI <= 2000)。

輸出

各テストケースについては、印刷2つの整数pとq、P完全な魚(全体の魚)とx分後に左のq不完全な魚があることを意味しています。

サンプル入力
2 1 1 
1 
8 3 5 
1 3 4 
4 5 1 
5 4 3 2 1
サンプル出力
1 0 
0 1 
0 3

 

質問の意味:nは魚、M猫、xは時間であり、魚のスピードすべての猫を与え、そして×時間後に尋ねた、左どのように多くの魚、そしてどのように多くの魚が食べられています 

アナログ -

#include <iostreamの> 
する#include < 文字列・H> 
の#include < ストリング > 
の#include <アルゴリズム> 
の#include <math.h>の
書式#include < ストリング > 
の#include < 文字列・H> 
の#include <ベクトル> 
する#include <ユーティリティ> 
書式#include <>マッピング
する#include <キュー> 
の#include < 設定 >
 の#define MX 0x3f3f3f3f
 の#define LL長い長い
 使って 名前空間はstdを、
INTのN、M、X。
105 ]、VIS [ 105 ]。
PRIORITY_QUEUE < int型、ベクトル< int型 >、大きい< int型 >> のp;
INT メイン()
{ 
    ながら(〜のscanf(" %D%D%D "、&​​M、およびN、およびX))
    { 
        memsetの(VIS、0はsizeof (VIS))。
        以下のためにint型私= 1 ; iが<= N; iが++ 
            のscanf(" %dの"、および[I])。
        ソート(A + 1、A + N + 1);
        int型になりました= 0 ;
        以下のためにint型 i = 1 ; iは= xを<; iは++ 
        { 
            ためint型の J = 1 ; J <= nであり、j ++ 
            { 
                場合(Mの== 0 破りますもし(I%[j] == 0 
                { 
                    場合([J] == 1 
                        M - もし(VIS [J] == 1 
                    {
                        VIS [J]= 0 ;  - 
                    } 
                } 
                
                { 
                    場合(VIS [J] == 0 
                    {  ++ 
                        M - 
                        VIS [J] = 1 
                    } 

                } 
                もし(M == 0 &&今== 0 ブレーク
            } 
            もし(M == 0今&& ==0 ブレーク
        } 
        のprintf(" %D%D \ n " 、今M)。
    } 
    戻り 0 
}

 

 

おすすめ

転載: www.cnblogs.com/-citywall123/p/11348755.html