求助 为什么这会TLE
查看原帖
求助 为什么这会TLE
757864
ruye楼主2024/1/16 14:08
const int N = 8e3 + 10;
int n;
int a[N], s[N];
map<int, bool> mp;
void solve(){
    cin >> n;
    for(int i = 1; i <= n; i ++ ){
        cin >> a[i];
        s[i] = a[i] + s[i - 1];
    }

    mp.clear();
    for(int i = 1; i <= n - 1; i ++ ){
        for(int j = i + 1; j <= n; j ++ ){
            if(s[j] - s[i - 1] <= 8000)
                mp[s[j] - s[i - 1]] = 1;
            else break;
        }
    }

    int ans = 0;
    for(int i = 1; i <= n; i ++ ){
        if(mp[a[i]]) ans ++ ;
    }
    cout << ans << endl;
}
2024/1/16 14:08
加载中...