山東省第六屆ACM大學生程式設計競賽-Lowest Unique Price(桶排序)
Lowest Unique Price
Time Limit: 1000ms Memory limit: 65536K 有疑問?點這裡^_^
題目描述
Recently my buddies and I came across an idea! We want to build a website to sell things in a new way.
For each product, everyone could bid at a price, or cancel his previous bid, finally we sale the product to the one who offered the "lowest unique price". The lowest unique price is defined to be the lowest price that was called only once.
So we need a program to find the "lowest unique price", We'd like to write a program to process the customers' bids and answer the query of what's the current lowest unique price.
All what we need now is merely a programmer. We will give you an "Accepted" as long as you help us to write the program.
輸入
The first line of input contains an integer T, indicating the number of test cases (T ≤ 60).
Each test case begins with a integer N (1 ≤ N ≤ 200000) indicating the number of operations.
Next N lines each represents an operation.
There are three kinds of operations:
"b x": x (1 ≤ x ≤ 106) is an integer, this means a customer bids at price x.
"c x": a customer has canceled his bid at price x.
"q" : means "Query". You should print the current lowest unique price.
Our customers are honest, they won\'t cancel the price they didn't bid at.
輸出
Please print the current lowest unique price for every query ("q"). Print "none" (without quotes) if there is no lowest unique price.
示例輸入
2 3 b 2 b 2 q 12 b 2 b 2 b 3 b 3 q b 4 q c 4 c 3 q c 2 q
示例輸出
none none 4 3 2
提示
來源
題目意思:
b x 表示以x的價格參與競標;
c x 表示取消價格為n的競標;
q 表示查詢只有一人出價的最低價格。
解題思路:
試著用了一下桶排序,沒想到一下子就過了~
注意輸入輸出方式~純用cin/cout回超時~
#include <iostream>
#include <cstring>
#include <set>
using namespace std;
#define MAXN 200002
int a[MAXN];
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int t;
cin>>t;
while(t--)
{
memset(a,0,sizeof(a));
int n,i,j,x;
cin>>n;
for(i=0; i<n; ++i)
{
char c;
cin>>c;
if(c=='b')
{
cin>>x;
++a[x];
}
else if(c=='c')
{
cin>>x;
--a[x];
}
else if(c=='q')
{
int flag=0;
for(j=0; j<MAXN; ++j)
if(a[j]&&a[j]==1)
{
cout<<j<<endl;
flag=1;
break;
}
if(flag==0) cout<<"none"<<endl;
}
}
}
return 0;
}
/*
2
3
b 2
b 2
q
12
b 2
b 2
b 3
b 3
q
b 4
q
c 4
c 3
q
c 2
q
*/
相關文章
- 山東省第六屆ACM大學生程式設計競賽-Square Number(完全平方數)ACM程式設計
- 第八屆山東省ACM大學生程式設計競賽總結ACM程式設計
- 山東省第七屆ACM大學生程式設計競賽-Reversed WordsACM程式設計
- 山東省第六屆ACM大學生程式設計競賽-Single Round Math(大數除法)ACM程式設計
- 山東省第一屆ACM大學生程式設計競賽-Balloons(搜尋)ACM程式設計
- 山東省第四屆ACM大學生程式設計競賽-Rescue The Princess(計算幾何)ACM程式設計
- 山東省第四屆ACM大學生程式設計競賽-Contest Print Server(模擬)ACM程式設計Server
- 2012年"浪潮杯"山東省第三屆ACM大學生程式設計競賽(熱身賽)ACM程式設計
- 山東省第四屆ACM大學生程式設計競賽-Alice and Bob(二進位制&&找規律)ACM程式設計
- 第十屆山東省大學生程式設計競賽題解(A、F、M、C)程式設計
- 山東省第四屆ACM大學生程式設計競賽-Boring Counting(劃分樹-二分查詢)ACM程式設計
- 山東省第八屆 ACM 省賽 quadratic equation (水、坑)ACM
- 山東省第五屆ACM大學生程式設計競賽-Full Binary Tree(二叉樹&&求任意兩節點路徑)ACM程式設計二叉樹
- 山東省第五屆ACM大學生程式設計競賽-Hearthstone II(組合數學-第二類Stirling數)ACM程式設計
- 第15屆浙江省大學生程式設計競賽D題程式設計
- 山東省第四屆acm解題報告(部分)ACM
- 我校學子在山東省ACM競賽中獲得優異成績ACM
- 湖南省大學生程式設計競賽系統設計程式設計
- 2019山東ACM省賽補題題解ACM
- 24山東省賽wp
- 第二十屆西南科技大學ACM程式設計競賽(同步賽)ACM程式設計
- [題解][2021-2022年度國際大學生程式設計競賽第10屆陝西省程式設計競賽] Type The Strings程式設計
- 第 10 屆 CCPC 中國大學生程式設計競賽濟南站 遊記程式設計
- 無錫學院2024年ACM大學生程式設計競賽校選賽 題解ACM程式設計
- 紹興市大學生程式設計競賽程式設計
- [補題] 第 45 屆國際大學生程式設計競賽(ICPC)亞洲區域賽(上海)程式設計
- 2014年藍橋杯程式設計大賽山東省賽區成績公佈程式設計
- 第43屆ACM-ICPC國際大學生程式設計競賽 亞洲區域賽南京站現場賽名額分配相關說明ACM程式設計
- 2024 CCPC第五屆遼寧省程式設計競賽 集訓2程式設計
- 2020 年第一屆遼寧省大學生程式設計競賽 D.開心消消樂(點分治)程式設計
- 九州信泰杯 第十一屆山東省網路安全技能大賽
- ACM-ICPC世界冠軍教你如何備戰程式設計競賽ACM程式設計
- QZEZ第一屆“飯吉圓”杯程式設計競賽程式設計
- 第六屆藍橋杯省賽CC++B組C++
- 2024CCPC山東省賽補題記錄
- 挑戰程式設計競賽選讀-選擇排序程式設計排序
- 第十屆中國大學生程式設計競賽 重慶站(CCPC 2024 Chongqing Site)程式設計
- 10.5組隊訓練賽-2024CCPC山東省賽