結果
| 問題 |
No.341 沈黙の期間
|
| コンテスト | |
| ユーザー |
dgd1724
|
| 提出日時 | 2016-10-02 06:33:40 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 5,000 ms |
| コード長 | 1,826 bytes |
| コンパイル時間 | 952 ms |
| コンパイル使用メモリ | 101,828 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-11-21 12:58:43 |
| 合計ジャッジ時間 | 1,596 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 11 |
ソースコード
#define _USE_MATH_DEFINES //M_PI(π),M_SQRT2(√2)
#include <iostream> //std::cout, std::cin
#include <string> //std::string,std::to_string(C++11)
#include <vector> //std::vector
#include <valarray> //std::valarray
#include <algorithm> //std::sort
#include <time.h> //localtime_s
#include <cstdlib> //abs
#include <cmath> //abs,std::pow,sqrt,sin,cos,round,floor,ceil
#include <fstream> //std::ifstream,std::ofstream
#include <iomanip> //std::setprecision,std::setw,std::setfill
#include <random> //std::random(C++11)
#include <numeric> //std::accumulate
#include <functional> //std::greater
#include <list> //std::list
void UTF8_to_CodePoint(const std::string *str, std::vector<int> &result) {
std::string S = *str;
int i = 0;
unsigned char c = 0;
while (i < S.size()) {
c = S[i];
if (0 <= c && c < 128) {
result.push_back(S[i]);
i += 1;
}
else if (194 <= c && c < 224) {
result.push_back(unsigned(S[i] & 0x1F) << 6 | S[i + 1] & 0x3F);
i += 2;
}
else if (224 <= c && c < 240) {
result.push_back(unsigned(S[i] & 0x0F) << 12 | unsigned(S[i + 1] & 0x3F) << 6 | S[i + 2] & 0x3F);
i += 3;
}
else {
result.push_back(unsigned(S[i] & 0x07) << 18 | unsigned(S[i + 1] & 0x3F) << 12 | unsigned(S[i + 2] & 0x3F) << 6 | S[i + 3] & 0x3F);
i += 4;
}
}
}
int main(void) {
//test用
//std::ifstream in("123.txt");
//std::cin.rdbuf(in.rdbuf());
std::string S;
std::cin >> S;
std::vector<int> N;
UTF8_to_CodePoint(&S, N);
int max = 0, temp = 0;
bool flg = false;
for (int i = 0; i < N.size(); i++) {
if (N[i] == 8230) {
flg = true;
temp++;
}
else {
if (flg) {
flg = false;
if (temp >= max) {
max = temp;
}
temp = 0;
}
}
}
if (flg) {
if (temp >= max) {
max = temp;
}
}
std::cout << max << std::endl;
}
dgd1724