トピックポータル
問題解決のアイデア:
、大物問題の解決策を確認するために、書くのが面倒な問題のポータルへのソリューションを
ACコード:
1の#include <cstdioを> 2の#include <iostreamの> 3の#include <キュー> 4 5 使用 名前空間STD。 6 7 int型 M、N、[ 200001 ]、B、TOT = 1 、J。 8 PRIORITY_QUEUE < 整数 > 大きいです。 9 PRIORITY_QUEUE < INT、ベクトル< INT >、大きな< INT >> 小さな。 10 11 のint main()の 12 { 13 のscanf(" %D%dの"、&N、&M)。 14 のために(int型 i = 1 ; iが<= N; iが++ ) 15 のscanf(" %dの"、および[I])。 16 のためには、(int型 I = 1 ; I <= M; iは++ ){ 17 のscanf(" %dの"、&B); 18 のために(; J <= Bと、J = TOT J ++ ){ 19 big.push([J])。 20 であれば(big.size()== I){ 21 small.push(big.top())。 22 big.pop()。 23 } 24 } 25 TOT = B + 1 。 26 のprintf(" %d個の\ n " 、small.top())。 27 big.push(small.top())。 28 small.pop()。 29 } 30 リターン 0 。 31 }