Submission #597299

# Submission time Handle Problem Language Result Execution time Memory
597299 2022-07-15T21:01:13 Z ThegeekKnight16 Sum Zero (RMI20_sumzero) C++14
0 / 100
30 ms 596 KB
#include <bits/stdc++.h>
using namespace std;
struct inter
{
    int begin, end;
    
    inter(int x, int y) {begin = x; end = y;}
    
    bool operator<(inter outro)
    {
        if (end == outro.end) return begin > outro.begin;
        return end < outro.end;
    }
};
const int MAXN = 4e5 + 10;
int v[MAXN];
vector<inter> Intervalos;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int N;
    cin >> N;
    for (int i = 1; i <= N; i++) {cin >> v[i]; v[i] += v[i-1];}
    
    for (int i = 1; i <= N; i++)
    {
        for (int j = i; j <= N; j++)
        {
            if (v[j] - v[i-1] == 0) Intervalos.emplace_back(i, j);
        }
    }
    
    sort(Intervalos.begin(), Intervalos.end());
    
    vector<inter> Usados; int L = -1;
    for (inter atual : Intervalos)
    {
        if (atual.begin < L) continue;
        Usados.push_back(atual);
    }
    
    int Q;
    cin >> Q;
    for (int q = 1; q <= Q; q++)
    {
        int X, Y;
        cin >> X >> Y;
        
        int resp = 0; int Comec = -1;
        for (inter atual : Usados)
        {
            if (atual.begin < X || atual.begin < Comec) continue;
            if (atual.end > Y) break;
            resp++;
            Comec = atual.end;
        }
        cout << resp << '\n';
    }
}
# Verdict Execution time Memory Grader output
1 Incorrect 30 ms 596 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 30 ms 596 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 30 ms 596 KB Output isn't correct
2 Halted 0 ms 0 KB -