Submission #27533239
Source Code Expand
#include <bits/stdc++.h> #include <atcoder/all> using namespace std; using namespace atcoder; #define fs(n) fixed << setprecision(n); #define mp(a, b) make_pair(a, b); #define all(x) x.begin(), x.end() using ll = long long; using ld = long double; int main(){ string s; cin >> s; int n = s.length(); int k; cin >> k; // . の累積和 vector<int> dsum(n + 1, 0); for(int i = 0; i < n; i++) dsum[i + 1] = s[i] == '.'; for(int i = 1; i <= n; i++) dsum[i] += dsum[i - 1]; int left = 0; int right = n; int mid = 0; while(right >= left){ mid = left + (right - left) / 2; bool flg = false; for(int l = 0; l <= n - mid; l++){ if(dsum[l + mid] - dsum[l] <= k){ flg = true; } } if(flg){ left = mid + 1; }else{ right = mid - 1; } } int ans = 0; for(int i = max(0, mid - 2); i <= min(n, mid + 2); i++){ bool flg = false; for(int j = 0; j <= n - i; j++){ if(dsum[j + i] - dsum[j] <= k) flg = true; } if(flg) ans = max(ans, i); } cout << ans << endl; }
Submission Info
Submission Time | |
---|---|
Task | D - Longest X |
User | Shiroha_F14 |
Language | C++ (GCC 9.2.1) |
Score | 400 |
Code Size | 1116 Byte |
Status | AC |
Exec Time | 17 ms |
Memory | 4492 KiB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | example0.txt, example1.txt |
All | 000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, 016.txt, 017.txt, 018.txt, 019.txt, 020.txt, 021.txt, 022.txt, 023.txt, 024.txt, 025.txt, 026.txt, 027.txt, 028.txt, 029.txt, 030.txt, 031.txt, 032.txt, 033.txt, 034.txt, example0.txt, example1.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
000.txt | AC | 10 ms | 3524 KiB |
001.txt | AC | 2 ms | 3508 KiB |
002.txt | AC | 2 ms | 3700 KiB |
003.txt | AC | 3 ms | 3700 KiB |
004.txt | AC | 13 ms | 4488 KiB |
005.txt | AC | 13 ms | 4376 KiB |
006.txt | AC | 2 ms | 3432 KiB |
007.txt | AC | 2 ms | 3452 KiB |
008.txt | AC | 15 ms | 4356 KiB |
009.txt | AC | 12 ms | 4364 KiB |
010.txt | AC | 14 ms | 4372 KiB |
011.txt | AC | 13 ms | 4228 KiB |
012.txt | AC | 9 ms | 4164 KiB |
013.txt | AC | 12 ms | 4116 KiB |
014.txt | AC | 11 ms | 4088 KiB |
015.txt | AC | 11 ms | 4164 KiB |
016.txt | AC | 8 ms | 4092 KiB |
017.txt | AC | 12 ms | 3916 KiB |
018.txt | AC | 7 ms | 3972 KiB |
019.txt | AC | 7 ms | 3976 KiB |
020.txt | AC | 10 ms | 3920 KiB |
021.txt | AC | 14 ms | 4332 KiB |
022.txt | AC | 14 ms | 4380 KiB |
023.txt | AC | 14 ms | 4492 KiB |
024.txt | AC | 17 ms | 4364 KiB |
025.txt | AC | 15 ms | 4492 KiB |
026.txt | AC | 11 ms | 4352 KiB |
027.txt | AC | 13 ms | 4288 KiB |
028.txt | AC | 13 ms | 4296 KiB |
029.txt | AC | 10 ms | 4300 KiB |
030.txt | AC | 11 ms | 4356 KiB |
031.txt | AC | 15 ms | 4372 KiB |
032.txt | AC | 12 ms | 4348 KiB |
033.txt | AC | 12 ms | 4488 KiB |
034.txt | AC | 14 ms | 4420 KiB |
example0.txt | AC | 2 ms | 3624 KiB |
example1.txt | AC | 3 ms | 3628 KiB |