#17255: cin、cout


tzuchunchen1015@gmail.com (TCC)

學校 : 臺北市立第一女子高級中學
編號 : 93686
來源 : [140.112.217.20]
最後登入時間 :
2023-12-27 11:15:30
b844. 一堆按鈕 -- 105學年度板橋高中校內資訊學科能力競賽(一) | From: [61.64.108.233] | 發表日期 : 2019-03-31 11:55

用scanf和printf比cin和cout開加速還要快太多啦!!!

scanf和printf會過

cin和cout加速還TLE!!!!

 
#17256: Re:cin、cout


314159265358979323846264338327 ... (少年π)

學校 : 臺北市私立延平高級中學
編號 : 69058
來源 : [223.136.179.30]
最後登入時間 :
2024-04-29 19:11:35
b844. 一堆按鈕 -- 105學年度板橋高中校內資訊學科能力競賽(一) | From: [42.72.160.79] | 發表日期 : 2019-03-31 12:15

用scanf和printf比cin和cout開加速還要快太多啦!!!

scanf和printf會過

cin和cout加速還TLE!!!!

#include<iostream>

#include<algorithm>

#define max 500005

using namespace std;

int a[max];

int main(){

ios::sync_with_stdio(0);

cin.tie(0);

int n,q,p;

while(cin>>n>>q){

for(int i=0;i<n;++i)cin>>a[i];

sort(a,a+n);

while(q--){

cin>>p;

int c=upper_bound(a,a+n,p)-a; 

cout<<(c&1)<<'\n';

}

}

return 0;

}

/*0.2S,488KB*/

不會TLE喔

 



 
#17257: Re:cin、cout


inversion (「我們所認識的可符香是個像天使的好女孩」之葉林 *Cries...)

學校 : 國立清華大學
編號 : 43537
來源 : [49.159.6.107]
最後登入時間 :
2022-05-28 19:29:12
b844. 一堆按鈕 -- 105學年度板橋高中校內資訊學科能力競賽(一) | From: [49.158.83.43] | 發表日期 : 2019-03-31 12:21

用scanf和printf比cin和cout開加速還要快太多啦!!!

scanf和printf會過

cin和cout加速還TLE!!!!

因為跟本人的既定印象不同,所以查了一下資料,也請人看了一下您的程式碼。

您雖然有使用 ios::sync_with_stdio(0) 以及 cout.tie(0) 。但是在輸出的時候還是使用了 endl ,而這會導致 cout 過早清空緩存區 (buffer) ,因而造成速度下降。

不然,cin 、 cout 跟 scanf 、printf 解除綁定( ios::sync_with_stdio(0) ) 之後的速度應該不會比 scanf 、 printf 差到哪去,有時候甚至會更快一點。

 

以上。希望有解答您的疑慮。

 
ZeroJudge Forum