操作のシーケンス(STLマップ)

 

リンク:https://ac.nowcoder.com/acm/contest/4462/A
出典:牛オフネットワーク

タイトル説明

無限長の列の所定の数、最初に全てゼロは、3つのアクションがあります。

  • 増加操作:添字tは プラスの数であるC  。なお、添字場合[T-30、T + 30 ]  の増加無効な操作で非ゼロ数を有しています。
  • 切り取り操作:最小の非ゼロの数字がゼロのインデックス内のカラム数をしてみましょう。
  • クエリ:添字の列のクエリ数トンの どのくらいのフィギュア。

説明を入力します。

最初の行は、整数含ま N、1≤N≤10 。6 、操作の総数を表します。
次いで、N行、二桁または数字からなる各行。
オペレーティングT、Cの増加を表す行に2つの数字は、存在する場合。
唯一の行数-1の場合、縮小動作を行います。
ラインだけでなく-1デジタルである場合、tはクエリ操作の数を表しています。
保証T、Cとプラスチックの範囲内で、非負整数です。

出力説明:

場合カット動作、最初のデジタル出力、及びその後にゼロ
全てゼロシーケンス要素が、切断操作が無効である場合、出力は「スキップ」
その位置での出力の問い合わせ時には、数
例1

エントリー

7 
140  1 
120  2 
100  3 
120 
100 
- 1 
100

輸出

0 
3 
3 
0

 

例2

エントリー

4 
140  3 
- 1 
140  1 
- 1

輸出

3 
1

 

例3

エントリー

3 
- 1 
- 1 
- 1

輸出

スキップされ
、スキップされ
、スキップされました

 

 

1の#include <ビット/ STDC ++ H>
 2のtypedef 長い LL。
3  CONST  INT INF = 0x3f3f3f3f 4つの CONST  ダブル EPS = 1E- 8 5  CONST  INT MOD = 1E9 + 7 6  CONST  INT MAXN = 1E5 + 10 7  使用して 名前空間はstdを、
8  
9マップ<LL、LL> 融点;
10  
11  のint main()の
 12  {
 13      の#ifdefデバッグ
 14     freopenは(" SAMPLE.TXT "" R " 、STDIN)。
15      #endifの
16      
17      INT N。
18      のscanf(" %d個"、&N)
19      一方(N-- 20      {
 21          LLのA、B。
22          のscanf(" %のLLD "、& )。
23          であれば(GETCHAR()== ' \ n ' 24          {
 25              であれば(== - 1 26              {
 27                  であれば(mp.empty())のprintf(" \ nはスキップ" )。
28                  のprintf(" %のLLD \ n "、mp.begin() - > 秒)、mp.erase(mp.begin())。
29              }
 30              他の
31              {
 32                  であれば(mp.count())のprintf(" %のLLD \ n " 、MP [])。
33                  のprintf(" 0 \ N " );
34              }
 35          }
 36          
37          {
38              のscanf(" %のLLD "、&B)。
39台の              自動POS = mp.lower_bound(A- 30 )。
40              であれば(POS == mp.end()|| POS->第一> + 30)MP [A] + = B。
41          }
 42      }
 43      
44      戻り 0 ;
45 }

 

 

 

 

 

 

-

おすすめ

転載: www.cnblogs.com/jiamian/p/12536358.html