1
這是我的代碼來計算no。次A [1]> B [J]。這樣, 我<Ĵ閱讀getchar_unlocked - 失敗案例
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
int n,c=0,j=1,i;
cin>>n;
int*a,*b;
a=(int*)malloc(sizeof(int)*n);
b=(int*)malloc(sizeof(int)*n);
for(i=0;i<n;i++)
{
cin>>a[i];
}
for(i=0;i<n;i++)
{
cin>>b[i];
}
while(j<n)
{
for(i=0;i<j;i++)
{
if(a[i]>b[j])
c++;
}
j++;
}
cout<<c;
return 0;
}
這只是正常工作,並且我嘗試使用getchar_unlocked
,以減少時間,但我得到了一個網站一個錯誤的答案。最初的測試案例告訴我正確的輸出,並且我對所有使用cin
輸入流的案例都做了相同的算法,但是我沒有使用getchar_unlocked
輸入流是否存在任何錯誤,或者我在哪裏做錯了?
我getchar_unlock
看起來像這樣
int readInt()
{
char c=getchar_unlocked();
while(c<'1'||c>'9')
c=getchar_unlocked();
int ret=0;
while(c>='1'&&c<='9')
{
ret=ret*10+c-48;
c=getchar_unlocked();
}
return ret;
}
PS:我不知道失敗的測試用例:(
謝謝Brian Bi <3。 – Mail