CCF 集合競價

2021-07-04 21:04:25 字數 1586 閱讀 5839

以下是我做題的經驗,如有錯誤,請諒解並指正

(s代表賣家,b代表買家)

1.最好不要以s的**來選取開盤價p0;題目中已說明:如果有多個符合條件的開盤價,你的程式應當輸出最高的那乙個。b**應比s的高

以s的**來選取p0的**(提交後錯誤):

**一:

#include

#include

#include

#include

#include

#include

#include

#include

using namespace std;

struct pp;

int i,j,n;

int a[5001]=;

pp p[5001],s[5001],b[5001];

int is=0,ib=0;

double mpr=0,repr=0;

long long mam=0,ream=0;

long long alls=0.00,allb=0.00;

int main()

else

}for(i=1;ifor(i=0;is[j].pr)}}

for(i=0;ib[j].pr)}}

for(i=0;i=mpr)

}mam=min(alls,allb);

if(mam>ream)

}printf("%.2lf %lld\n",repr,ream);

return 0;

}以下為正確**:

**二#include

#include

#include

#include

#include

#include

#include

#include

using namespace std;

struct pp;

int i,j,n;

int a[5001]=;

pp p[5001],s[5001],b[5001];

int is=0,ib=0;

double mpr=0,repr=0;

long long mam=0,ream=0;

long long alls=0.00,allb=0.00;

int main()

else

}for(i=1;is[j].pr)}}

for(i=0;ib[j].pr)}}

for(i=ib-1;i>=0;i--)

alls+=s[j].am;

}mam=min(alls,allb);

if(mam>ream)

}printf("%.2lf %lld\n",repr,ream);

return 0;

}一下測試資料 就可得錯誤的原因:

sell  8.92 400

sell 9.0 1000

buy 8.88 175

buy 8.95 400

buy 100.0 50

**一的結果為8.92 400;

**二的結果為8.95 400;

ccf 集合競價

問題描述 試題編號 201412 3 試題名稱 集合競價 時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 某 交易所請你編寫乙個程式,根據開盤前客戶提交的訂單來確定某特定 的開盤價和開盤成交量。該程式的輸入由很多行構成,每一行為一條記錄,記錄可能有以下幾種 1.buy p s 表...

12 競態條件 時序競態

sleep函式幾點說明 1 sleep函式作用,讓程序睡眠。2 能被訊號打斷,然後處理訊號函式以後,就不再睡眠了。直接向下執行 3 sleep函式的返回值,是剩餘的秒數 sleep是可被中斷的睡眠,但不一定睡夠100s sleep是可中斷的睡眠 void handler int num if 1 v...

如何確定競品物件 如何收集競品資料

該什麼時候進行?通常來說沒有明確的時間規定,也沒有明確的次數限制。在產品開發迴圈中的任意乙個環節開始都可以得到大量有效的資訊。怎樣確定競品?看上去是個很容易的活,但其實則比你想象的難。我們需要在腦中建立乙個清晰的 標尺 來將各種潛在的對手分級。確定了競品名單之後做什麼?接下來就需要把每個競品的詳細資...