結果
問題 | No.345 最小チワワ問題 |
ユーザー | 👑 p-adic |
提出日時 | 2022-08-09 08:08:10 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 20 ms / 2,000 ms |
コード長 | 825 bytes |
コンパイル時間 | 1,136 ms |
コンパイル使用メモリ | 72,808 KB |
最終ジャッジ日時 | 2025-01-30 19:37:10 |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 29 |
ソースコード
#include <iostream> #include <list> #include <vector> #include <string> #include <stdio.h> #include <stdint.h> using namespace std; using uint = unsigned int; using ll = long long; #define CIN( LL , A ) LL A; cin >> A #define GETLINE( A ) string A; getline( cin , A ) int main() { CIN( string , S ); const uint& size = S.size(); const string c = "c"; const string w = "w"; ll min_num = -1; ll cww1 = -1; ll cww2 = -1; for( ll i = 0 ; i < size ; i++ ){ const string s = S.substr( i , 1 ); if( s == c ){ cww2 = i; } else if( s == w ){ if( cww1 != -1 ){ const ll d = i - cww1 + 1; if( min_num == -1 || d < min_num ){ min_num = d; } } if( cww2 != -1 ){ cww1 = cww2; cww2 = -1; } } } cout << min_num << endl; return 0; }