結果

問題 No.723 2つの数の和
ユーザー weizen
提出日時 2018-08-04 22:02:53
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
RE  
実行時間 -
コード長 533 bytes
コンパイル時間 664 ms
コンパイル使用メモリ 56,404 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-09-19 17:57:45
合計ジャッジ時間 3,188 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample RE * 3
other AC * 10 WA * 1 RE * 11
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function ‘int main()’:
main.cpp:14:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   14 |         scanf("%lld",&N);
      |         ~~~~~^~~~~~~~~~~
main.cpp:15:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   15 |         scanf("%lld",&X);
      |         ~~~~~^~~~~~~~~~~
main.cpp:18:23: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   18 |                  scanf("%lld",a+i+1);
      |                  ~~~~~^~~~~~~~~~~~~~
main.cpp:16:46: warning: iteration 100000 invokes undefined behavior [-Waggressive-loop-optimizations]
   16 |         for(int i = 0; i <= TEN5 ; i++) c[i] = 0;
      |                                         ~~~~~^~~
main.cpp:16:26: note: within this loop
   16 |         for(int i = 0; i <= TEN5 ; i++) c[i] = 0;
      |                          ^
main.cpp:16:46: warning: ‘void* __builtin_memset(void*, int, long unsigned int)’ writing 400004 bytes into a region of size 400000 overflows the destination [-Wstringop-overflow=]
   16 |         for(int i = 0; i <= TEN5 ; i++) c[i] = 0;
      |                                         ~~~~~^~~
main.cpp:8:5: note: destination object ‘c’ of size 400000
    8 | int c[TEN5];
      |     ^

ソースコード

diff #

#include <stdio.h>
#include <iostream>
#include <algorithm>
#define TEN5 100000
typedef long long ll;

ll a[100002];
int c[TEN5];

int main(){
        ll N,X;
        int cnt = 0;

        scanf("%lld",&N);
        scanf("%lld",&X);
        for(int i = 0; i <= TEN5 ; i++) c[i] = 0;
        for(int i = 0; i < N; i++){
                 scanf("%lld",a+i+1);
                 c[a[i+1]] += 1;
        }

        for(int i = 0; i <= TEN5 ; i++){
                if(X-i <= TEN5) cnt += c[i]*c[X-i];
        }
        printf("%d\n",cnt);
}
0