結果
問題 | No.335 門松宝くじ |
ユーザー | nyakagawan |
提出日時 | 2016-01-29 02:15:18 |
言語 | C++11 (gcc 11.4.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,563 bytes |
コンパイル時間 | 542 ms |
コンパイル使用メモリ | 64,580 KB |
実行使用メモリ | 10,148 KB |
最終ジャッジ日時 | 2024-09-21 17:50:16 |
合計ジャッジ時間 | 6,002 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 2 ms
6,816 KB |
testcase_01 | AC | 1 ms
5,376 KB |
testcase_02 | AC | 2 ms
5,376 KB |
testcase_03 | AC | 2 ms
5,376 KB |
testcase_04 | AC | 2 ms
5,376 KB |
testcase_05 | AC | 758 ms
5,376 KB |
testcase_06 | WA | - |
testcase_07 | TLE | - |
testcase_08 | -- | - |
testcase_09 | -- | - |
testcase_10 | -- | - |
testcase_11 | -- | - |
testcase_12 | -- | - |
testcase_13 | -- | - |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:35:30: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 35 | scanf("%d", &E[i][j]); | ~~~~~^~~~~~~~~~~~~~~~
ソースコード
// No335.cpp : Defines the entry point for the console application. // #include <assert.h> #include <cstdio> #include <cstdlib> #include <cstring> #include <iostream> #include <string> #include <algorithm> #include <vector> #include <climits> using namespace std; typedef unsigned char uchar; typedef unsigned int uint; typedef long long ll; typedef unsigned long long ull; int N; int M; vector<int> E[3]; bool kado(int a, int b, int c) { if (a == b || b == c || a == c) return false; return (b < a && b < c) || (b > a && b > c); } int main() { cin >> N >> M; for (int i = 0; i < M; i++) { E[i].resize(N); for (int j = 0; j < N; j++) { scanf("%d", &E[i][j]); } } #define kArraySize (800 * 3 + 1) double kitaiMax = 0; int iKitaiMax = 0; for (int i = 0; i < M; i++) { int sums[kArraySize] = {0}; int kadoCount = 0; for (int i1 = 0; i1 < N-1; i1++) { for (int i2 = i1+1; i2 < N; i2++) { for (int i3 = 0; i3 < N; i3++) { if (i3 == i1 || i3 == i2)continue; int ii1 = min(i1, i3); int ii2 = ii1!=i3 ? min(i2, i3) : i2; int ii3 = max(i2, i3); if (kado(E[i][ii1], E[i][ii2], E[i][ii3])) { int sum = E[i][ii1] + E[i][ii2] + E[i][ii3]; sums[sum] ++; } kadoCount++; } } } double kitaiSum = 0; for (int j = 0; j < kArraySize; j++) { if (sums[j]) { kitaiSum += (double)j * (double)sums[j] / (double)kadoCount; } } //printf("%lf\n", kitaiSum); if (kitaiSum > kitaiMax) { kitaiMax = kitaiSum; iKitaiMax = i; } } cout << iKitaiMax << endl; return 0; }