結果
問題 | No.22 括弧の対応 |
ユーザー |
|
提出日時 | 2017-07-09 18:22:27 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 35 ms / 5,000 ms |
コード長 | 871 bytes |
コンパイル時間 | 649 ms |
コンパイル使用メモリ | 76,348 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-20 07:25:00 |
合計ジャッジ時間 | 1,564 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 19 |
ソースコード
#include<iostream> #include<vector> #include<algorithm> #include<cmath> #include<string> using namespace std; int main(){ int n,k,count=1; string s; cin >> n >> k >> s; vector<int> v(n); vector<int> vlen(n); for(int i=0; i< s.length(); i++){ v[i] = (s[i] == '(')? 1: 2; } for(int i=0; i<n; i++){ if(v[i] == 0) continue; for(int j=i+1; j<n; j++){ if(v[i] == 1 && v[j] == 1) break; if(v[i] == 1 && v[j] == 2){ v[i] = 0; v[j] = 0; vlen[i] = count; vlen[j] = count; count++; i=-1; break; } } } int tmp = vlen[k-1]; for(int i=0; i<n; i++){ if(tmp == vlen[i] && i != k-1){ cout << i+1 << endl; break; } } }