結果
問題 | No.79 過小評価ダメ・ゼッタイ |
ユーザー |
![]() |
提出日時 | 2023-06-08 15:01:22 |
言語 | C (gcc 13.3.0) |
結果 |
RE
|
実行時間 | - |
コード長 | 1,788 bytes |
コンパイル時間 | 1,460 ms |
コンパイル使用メモリ | 30,464 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-12-30 23:52:28 |
合計ジャッジ時間 | 2,696 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 13 RE * 9 |
ソースコード
#include <stdio.h>#include <malloc.h>char str[100000];int str_len = 0;/// <summary>/// 入力された数字を返す/// </summary>/// <returns></returns>int ReadNum() {int negate = 0;char c = getchar();int num = 0;int numCnt = 0;while (c != '\n') {if (c == '-') {negate = 1;}else {num = num * 10 + c - '0';}c = getchar();}if (negate == 1) {num *= -1;}return num;}/// <summary>/// グローバル変数strの中身を入力された文字列で上書きする/// </summary>void ReadString() {char c = getchar();str_len = 0;while (c != '\n') {str[str_len] = c;c = getchar();str_len++;}}/// <summary>/// 引数*numsのポインタ位置にある配列の中身をstrのスペースで区切られた数字にする/// 渡されたポインタ位置が、strのスペースの数+1個分 静的にメモリが確保された配列である必要がある/// </summary>/// <param name="nums"></param>/// <returns></returns>void GetNums(int* nums, int size) {for (int i = 0;i < size;i++) {nums[i] = 0;}int numIndex = 0;int negate = 0;for (int i = 0;i <= str_len;i++) {if (str[i] == ' ' || i == str_len) {if (negate == 1) {nums[numIndex] *= -1;}negate = 0;numIndex++;continue;}if (str[i] == '-') {negate = 1;continue;}nums[numIndex] = nums[numIndex] * 10 + (str[i] - '0');}}int main(){int n = ReadNum();ReadString();int* nums;nums = (int*)malloc(sizeof(int) * n);int cnt[6] = {0,0,0,0,0,0};int max = -1;int index = -1;GetNums(nums,n);for (int i = 0;i < n;i++) {cnt[nums[i] - 1]++;}for (int i = 0;i < 6;i++) {if (cnt[i] >= max) {max = cnt[i];index = i + 1;}}printf("%d\n",index);free(nums);}