要約:
1.時間がゲームを完了するには1分ですので、異なる時間の影響を考慮し、もたらしたわけではないので、なぜ貪欲されていないあなたが貪欲使用できるように、
各ゲームの最新の時点から前方に2サイクルは、ゲームが終了している背後にできるだけ多くを作ることです。
#include <ビット/ STDC ++ H> 使用して 名前空間STDを、 int型 VIS N、M、[ 505 ]、合計。 構造体ノード{ int型のT、月、フラグ。 } [ 505 ]。 BOOL CMP(ノードX、ノードY) { 戻り x.mon> y.mon。 } int型のmain() { CIN >> M >> N。 以下のために(int型 i = 1 ; iが<= N; iは++ ) CIN >> [I] .T。 用(int型 iは= 1、I ++; iが<= N。) CIN >> [I] .mon。 ソート( + 1、A + 1 + N、CMP)。 以下のために(int型私= 1 ; iが<= N; iが++ ) { ため(INT J = A [i]の.T; J> = 1 ; j-- ) { 場合(VIS [J] == 0 ) { VIS [ J] = 1 。 [I] .flag = 1 。 破ります; } } } 以下のために(int型 I = 1 iは++; iが<= N ) 場合和+ =([I] .flag!)は、[I] .mon。 coutの << M- 合計。 リターン 0 ; }