結果
| 問題 | 
                            No.342 一番ワロタww
                             | 
                    
| コンテスト | |
| ユーザー | 
                             kpinkcat
                         | 
                    
| 提出日時 | 2023-11-16 17:29:12 | 
| 言語 | C++17  (gcc 13.3.0 + boost 1.87.0)  | 
                    
| 結果 | 
                             
                                WA
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 1,715 bytes | 
| コンパイル時間 | 991 ms | 
| コンパイル使用メモリ | 110,072 KB | 
| 最終ジャッジ日時 | 2025-02-17 22:17:36 | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge4 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 12 WA * 2 | 
ソースコード
#include<iostream>
#include<string>
#include<algorithm>
#include<cctype>
#include<set>
#include<bitset>
#include<math.h>
#include<map>
#include<queue>
#include<iomanip>
using namespace std;
#ifdef _WIN32
#include <Windows.h>
#endif
int cntByte(unsigned char cChar)
{
   int iByte;
   if ((cChar >= 0x00) && (cChar <= 0x7f)) {
       iByte = 1;
   } else if ((cChar >= 0xc2) && (cChar <= 0xdf)) {
       iByte = 2;
   } else if ((cChar >= 0xe0) && (cChar <= 0xef)) {
       iByte = 3;
   } else if ((cChar >= 0xf0) && (cChar <= 0xf7)) {
       iByte = 4;
   } else if ((cChar >= 0xf8) && (cChar <= 0xfb)) {
       iByte = 5;
   } else if ((cChar >= 0xfc) && (cChar <= 0xfd)) {
       iByte = 6;
   } else {
       iByte = 0;
   }
   return iByte;
}
int main()
{
    #ifdef _WIN32
        SetConsoleOutputCP(CP_UTF8);
        setvbuf(stdout, nullptr, _IOFBF, 1024);
    #endif
    int cnt = 0, max1 = 0, cbytes;
    string s, t, tmp = "";
    cin >> s;
    t = "w";
    vector<string> ans;
    string::size_type pos = 0;
    while (s.begin() + pos <= s.end()){
        cbytes = cntByte(s[pos]);
        if (s.substr(pos, cbytes) == t){
            cnt++;
        } else {
            if (cnt > 0 && cnt >= max1) {
                if (cnt == max1 && tmp.size() > 0) ans.push_back(tmp);
                else if (cnt > max1 && tmp.size() > 0){
                    ans.clear();
                    ans.push_back(tmp);
                }
                max1 = cnt;
                cnt = 0;
                tmp = "";
            }
            tmp += s.substr(pos, cbytes);
        }
        pos += cbytes;
    }
    //if (cnt == max1) ans.push_back(tmp);
    for (auto x : ans){
        cout << x << endl;;
    }
}
            
            
            
        
            
kpinkcat