# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
799167 |
2023-07-31T10:25:33 Z |
Blagoj |
Watering can (POI13_kon) |
C++17 |
|
4000 ms |
13412 KB |
#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int nax = 300'001;
int sq = 500;
ll N, K, t[nax], zers[nax];
vector<ll>SQE[nax / 500 + 5];
vector<ll>ps[nax / 500 + 5];
void inicjuj(int n, int k, int *D)
{
sq = (int)sqrt(n) + 1;
for (int i = 0; i < n; i++)
{
t[i] = D[i];
SQE[i / sq].push_back(t[i]);
}
N = n, K = k;
for (int i = 0; i <= n / sq; i++){
ps[i].resize(SQE[i].size());
sort(SQE[i].begin(), SQE[i].end());
SQE[i].erase(unique(SQE[i].begin(),SQE[i].end()),SQE[i].end());
for (int j = i * sq; j < n && j /sq == i; j++){
int pos = lower_bound(SQE[i].begin(), SQE[i].end(), t[j]) - SQE[i].begin();
ps[i][pos]++;
}
for (int j = ps[i].size() - 2; j >= 0; j--){
ps[i][j] += ps[i][j + 1];
}
}
}
void podlej(int a, int b)
{
//--a,--b;
for (int i = a / sq; i * sq <= b; i++){
// cout << i << endl;
if (a <= i * sq && b >= (i + 1) * sq - 1){
zers[i]++;
}else{
for (int j = i*sq; j / sq == i && j < N; j++){
t[j]+=zers[i];
if (j >= a && j <= b) SQE[i][j]++;
// t[j]++;
}
zers[i] = 0;
sort(SQE[i].begin(), SQE[i].end());
SQE[i].erase(unique(SQE[i].begin(),SQE[i].end()),SQE[i].end());
for (int j = 0; j < SQE[i].size(); j++) ps[i][j] = 0;
for (int j = i*sq; j / sq == i && j < N; j++){
int pos = lower_bound(SQE[i].begin(), SQE[i].end(), t[j]) - SQE[i].begin();
ps[i][pos]++;
}
for (int j = ps[i].size() - 2; j >= 0; j--){
ps[i][j] += ps[i][j + 1];
}
}
}
}
int dojrzale(int a, int b)
{
// --a,--b;
int ans = 0;
for (int i = a / sq; i <= b / sq; i++){
if (a <= i * sq && b >= (i + 1) * sq - 1){
int pos = lower_bound(SQE[i].begin(), SQE[i].end(), K - zers[i]) - SQE[i].begin();
if (pos < SQE[i].size())ans += ps[i][pos];
}else{
for (int j = max(a, i * sq); j / sq == i && j <= b; j++){
if (t[j] + zers[i] >= K)++ans;
}
}
}
return ans;
}
Compilation message
kon.cpp: In function 'void podlej(int, int)':
kon.cpp:53:31: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
53 | for (int j = 0; j < SQE[i].size(); j++) ps[i][j] = 0;
| ~~^~~~~~~~~~~~~~~
kon.cpp: In function 'int dojrzale(int, int)':
kon.cpp:74:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
74 | if (pos < SQE[i].size())ans += ps[i][pos];
| ~~~~^~~~~~~~~~~~~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
2 ms |
2900 KB |
Execution killed with signal 6 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
4 ms |
2900 KB |
Execution killed with signal 6 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
471 ms |
4720 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
713 ms |
5012 KB |
Execution killed with signal 6 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
1502 ms |
8512 KB |
Execution killed with signal 6 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
3896 ms |
13412 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Execution timed out |
4069 ms |
5960 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Execution timed out |
4074 ms |
7092 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Execution timed out |
4056 ms |
11584 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Execution timed out |
4069 ms |
11108 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |