Pagini recente » Statistici Paul Satmarean (paul.satmarean) | Cod sursa (job #866076) | Cod sursa (job #825052) | Cod sursa (job #3343441) | Cod sursa (job #3347178)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("special.in");
ofstream fout("special.out");
int n, x, k, sum, nr;
long long total, p;
int fr1[10000001], fr2[10000001];
int main(){
fin>>n>>p>>x;
// nr = numarul total de prefixe <= prefixul curent
fr1[0] = 1;
nr = 1;
for (int i = 1; i <= n; i++){
int val = 0;
fin>>k;
if (k == x)
val = 1;
else
val = -1;
sum += val;
if (val == 1){
if (sum >= 0)
nr += fr1[sum];
else
nr += fr2[-sum];
}
else {
if (sum + 1 >= 0)
nr -= fr1[sum + 1];
else
nr -= fr2[-(sum + 1)];
}
total += nr;
if (sum >= 0)
fr1[sum]++;
else
fr2[-sum]++;
nr++;
}
if (total >= p)
fout << "DA" << "\n";
else
fout << "NU" << "\n";
fout << total;
return 0;
}