結果
| 問題 |
No.723 2つの数の和
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2018-08-04 23:25:20 |
| 言語 | C (gcc 13.3.0) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 896 bytes |
| コンパイル時間 | 136 ms |
| コンパイル使用メモリ | 30,080 KB |
| 実行使用メモリ | 10,624 KB |
| 最終ジャッジ日時 | 2024-09-19 17:58:35 |
| 合計ジャッジ時間 | 4,237 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 15 TLE * 1 -- * 6 |
コンパイルメッセージ
main.c: In function 'main':
main.c:17:27: warning: passing argument 4 of 'qsort' from incompatible pointer type [-Wincompatible-pointer-types]
17 | qsort(t,n,sizeof(int),q);
| ^
| |
| int (*)(const int *, const int *)
In file included from main.c:2:
/usr/include/stdlib.h:839:34: note: expected '__compar_fn_t' {aka 'int (*)(const void *, const void *)'} but argument is of type 'int (*)(const int *, const int *)'
839 | __compar_fn_t __compar) __nonnull ((1, 4));
| ~~~~~~~~~~~~~~^~~~~~~~
ソースコード
#include <stdio.h>
#include <stdlib.h>
int q(const int *a,const int *b)
{
return *a-*b;
}
int main(void)
{
int n,x,a[100001],t[100001],s=0,l,r,m,f,i,j;
scanf("%d%d",&n,&x);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
t[i]=a[i];
}
qsort(t,n,sizeof(int),q);
for(i=0;i<n;i++){
l=0;
r=n;
f=0;
while(l<=r){
m=(l+r)/2;
if(x-a[i]==t[m]){
f=1;
break;
}
else if(x-a[i]>t[m])l=m+1;
else r=m-1;
}
if(f>0){
j=m;
while(j>=0&&x-a[i]==t[j]){
s++;
j++;
}
j=m-1;
while(j>=0&&x-a[i]==t[j]){
s++;
j--;
}
}
}
printf("%d",s);
return 0;
}