結果
問題 |
No.3210 Fixed Sign Sequense
|
ユーザー |
![]() |
提出日時 | 2025-07-26 18:00:14 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 33 ms / 2,000 ms |
コード長 | 521 bytes |
コンパイル時間 | 930 ms |
コンパイル使用メモリ | 87,728 KB |
実行使用メモリ | 7,716 KB |
最終ジャッジ日時 | 2025-07-26 18:00:18 |
合計ジャッジ時間 | 3,311 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 38 |
ソースコード
// ,,廿_廿,, #include<iostream> #include<vector> using namespace std; int main(){ int n;cin>>n; vector<int> a(n); string s;cin>>s; int mi = -(1<<25); int pv = 1; for(int i=0;i<n;++i){ if(s[i] == '+')a[i]=pv++; else if(s[i] == '-')a[i]=mi++; else a[i] = 0; } int inf = 1<<25; vector<int> dp(n+1,inf); for(int i=0;i<n;++i){ int t = a[i]; auto id = lower_bound(begin(dp),end(dp),t) - begin(dp); if(t < dp[id])dp[id] = t; } cout << lower_bound(begin(dp),end(dp),inf) - begin(dp) << endl; }