# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
638218 |
2022-09-05T00:25:10 Z |
iee |
Grudanje (COCI19_grudanje) |
C++17 |
|
182 ms |
6164 KB |
// iee
#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdio>
#include <vector>
#include <set>
#include <map>
#define rep(i, a, b) for (auto i = (a); i <= (b); ++i)
#define per(i, a, b) for (auto i = (a); i >= (b); --i)
#define fi first
#define se second
using ll = long long;
using ull = unsigned long long;
using namespace std;
void work(int);
template <class T> void read(T &x) {
x = 0; int f = 1, ch = getchar();
while (!isdigit(ch)) { if (ch == '-') f = -1; ch = getchar(); }
while (isdigit(ch)) x = x * 10 + (ch - '0'), ch = getchar();
x *= f;
}
int main() {
int TT = 1; // cin >> TT;
rep(CAS, 1, TT)
work(CAS);
return 0;
}
const int N = 1e5 + 5;
int n, q, p[N];
pair<int, int> qry[N];
char s[N], now[N], S[N][26];
bool ok(int mid) {
memcpy(now, s, sizeof s);
rep(i, 1, mid) now[p[i]] = '*';
rep(i, 1, n) {
rep(j, 0, 25) S[i][j] = S[i - 1][j];
if (now[i] != '*') S[i][now[i] - 'a']++;
}
rep(i, 1, q) {
rep(j, 0, 25) {
if (S[qry[i].se][j] - S[qry[i].fi - 1][j] > 1) return 0;
}
}
return 1;
}
void work(int CASE) {
scanf("%s", s + 1);
n = strlen(s + 1);
cin >> q;
rep(i, 1, q) {
cin >> qry[i].fi >> qry[i].se;
}
rep(i, 1, n) {
cin >> p[i];
}
int l = 0, r = n;
while (l < r) {
int mid = l + r >> 1;
if (ok(mid)) r = mid;
else l = mid + 1;
}
cout << l;
}
Compilation message
grudanje.cpp: In function 'void work(int)':
grudanje.cpp:62:17: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
62 | int mid = l + r >> 1;
| ~~^~~
grudanje.cpp:51:8: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
51 | scanf("%s", s + 1);
| ~~~~~^~~~~~~~~~~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
440 KB |
Output is correct |
2 |
Correct |
1 ms |
340 KB |
Output is correct |
3 |
Correct |
1 ms |
340 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
340 KB |
Output is correct |
2 |
Correct |
1 ms |
444 KB |
Output is correct |
3 |
Correct |
1 ms |
340 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
4 ms |
468 KB |
Output is correct |
2 |
Correct |
6 ms |
468 KB |
Output is correct |
3 |
Correct |
4 ms |
468 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
4 ms |
500 KB |
Output is correct |
2 |
Correct |
4 ms |
468 KB |
Output is correct |
3 |
Correct |
4 ms |
468 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
4 ms |
580 KB |
Output is correct |
2 |
Correct |
3 ms |
468 KB |
Output is correct |
3 |
Correct |
3 ms |
468 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
144 ms |
5992 KB |
Output is correct |
2 |
Correct |
114 ms |
5960 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
163 ms |
5940 KB |
Output is correct |
2 |
Correct |
105 ms |
5836 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
148 ms |
6004 KB |
Output is correct |
2 |
Correct |
157 ms |
6040 KB |
Output is correct |
3 |
Correct |
122 ms |
5864 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
147 ms |
6044 KB |
Output is correct |
2 |
Correct |
148 ms |
6164 KB |
Output is correct |
3 |
Correct |
104 ms |
5884 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
182 ms |
5928 KB |
Output is correct |
2 |
Correct |
144 ms |
6124 KB |
Output is correct |
3 |
Correct |
117 ms |
5928 KB |
Output is correct |