1 条题解

  • 0
    @ 2024-12-5 21:06:02

    #include <bits/stdc++.h> using namespace std; #define int long long #define INF 0x3f3f3f3f3f3f3f3f #define N (int)(1e6+15) int n,ans,dp[N],id; char s[N]; signed main() { scanf("%s",(s+1));n=strlen(s+1); for(int i=2; i<=n; i++) { if(s[i]'('||s[i]'[')continue; else { if(s[i]')'&&s[i-dp[i-1]-1]'('|| s[i]']'&&s[i-dp[i-1]-1]'[') { dp[i]=dp[i-1]+2+dp[i-dp[i-1]-2]; if(dp[i]>ans)ans=dp[i],id=i; } } } for(int i=id-ans+1; i<=id; i++) putchar(s[i]); puts(""); return 0; }

    • 1

    信息

    ID
    5998
    时间
    1000ms
    内存
    125MiB
    难度
    3
    标签
    递交数
    137
    已通过
    44
    上传者