Submission #878362

# Submission time Handle Problem Language Result Execution time Memory
878362 2023-11-24T08:46:41 Z hasan2006 JJOOII 2 (JOI20_ho_t2) C++17
100 / 100
8 ms 2028 KB
#include <bits/stdc++.h>

using namespace std;

#define TL ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
#define rall(s) s.rbegin(),s.rend()
#define all(s) s.begin(),s.end()
#define pb push_back
#define se second
#define fi first
#define ll long long
#define ld long double
#define YES cout<<"YES\n"
#define Yes cout<<"Yes\n"
#define yes cout<<"yes\n"
#define NO cout<<"NO\n"
#define No cout<<"No\n"
#define no cout<<"no\n"


const int N = 5e5 + 9 , mod = 1e9 + 7;
ll   a[N] = {}, b[N] , c[N] , d[N] , dp[N];

void solve()
{
    int q , i , j , m ,n, z ,s = 0 , f, l , r , k , x , y , mn  = 1e9 , mx = 0;
    cin>>n>>k;
    string a;
    cin>>a;
    deque<int>d[500];
    for(i = 0; i < n; i++)
        d[a[i]].pb(i);
    while(d['J'].size() >= k){
        while(d['O'].size() > 0 && d['O'].front() < d['J'][k - 1])
            d['O'].pop_front();
        while(d['O'].size() >= k && d['I'].size() > 0 && d['I'].front() < d['O'][k - 1])
            d['I'].pop_front();
        if(d['J'].size() >= k && d['O'].size() >= k && d['I'].size() >= k)
            mn = min(mn , d['I'][k - 1] - d['J'][0] - 3 * k + 1);
        d['J'].pop_front();
    }
    if(mn == 1e9) mn = -1;
    cout<<mn<<"\n";
}

int main(){
int t = 1;
//cin>>t;
while(t--)
     {
     solve();
     }
}
// Author : حسن

Compilation message

ho_t2.cpp: In function 'void solve()':
ho_t2.cpp:32:15: warning: array subscript has type 'char' [-Wchar-subscripts]
   32 |         d[a[i]].pb(i);
      |               ^
ho_t2.cpp:33:25: warning: comparison of integer expressions of different signedness: 'std::deque<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   33 |     while(d['J'].size() >= k){
      |           ~~~~~~~~~~~~~~^~~~
ho_t2.cpp:36:29: warning: comparison of integer expressions of different signedness: 'std::deque<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   36 |         while(d['O'].size() >= k && d['I'].size() > 0 && d['I'].front() < d['O'][k - 1])
      |               ~~~~~~~~~~~~~~^~~~
ho_t2.cpp:38:26: warning: comparison of integer expressions of different signedness: 'std::deque<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   38 |         if(d['J'].size() >= k && d['O'].size() >= k && d['I'].size() >= k)
      |            ~~~~~~~~~~~~~~^~~~
ho_t2.cpp:38:48: warning: comparison of integer expressions of different signedness: 'std::deque<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   38 |         if(d['J'].size() >= k && d['O'].size() >= k && d['I'].size() >= k)
      |                                  ~~~~~~~~~~~~~~^~~~
ho_t2.cpp:38:70: warning: comparison of integer expressions of different signedness: 'std::deque<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   38 |         if(d['J'].size() >= k && d['O'].size() >= k && d['I'].size() >= k)
      |                                                        ~~~~~~~~~~~~~~^~~~
ho_t2.cpp:26:9: warning: unused variable 'q' [-Wunused-variable]
   26 |     int q , i , j , m ,n, z ,s = 0 , f, l , r , k , x , y , mn  = 1e9 , mx = 0;
      |         ^
ho_t2.cpp:26:17: warning: unused variable 'j' [-Wunused-variable]
   26 |     int q , i , j , m ,n, z ,s = 0 , f, l , r , k , x , y , mn  = 1e9 , mx = 0;
      |                 ^
ho_t2.cpp:26:21: warning: unused variable 'm' [-Wunused-variable]
   26 |     int q , i , j , m ,n, z ,s = 0 , f, l , r , k , x , y , mn  = 1e9 , mx = 0;
      |                     ^
ho_t2.cpp:26:27: warning: unused variable 'z' [-Wunused-variable]
   26 |     int q , i , j , m ,n, z ,s = 0 , f, l , r , k , x , y , mn  = 1e9 , mx = 0;
      |                           ^
ho_t2.cpp:26:30: warning: unused variable 's' [-Wunused-variable]
   26 |     int q , i , j , m ,n, z ,s = 0 , f, l , r , k , x , y , mn  = 1e9 , mx = 0;
      |                              ^
ho_t2.cpp:26:38: warning: unused variable 'f' [-Wunused-variable]
   26 |     int q , i , j , m ,n, z ,s = 0 , f, l , r , k , x , y , mn  = 1e9 , mx = 0;
      |                                      ^
ho_t2.cpp:26:41: warning: unused variable 'l' [-Wunused-variable]
   26 |     int q , i , j , m ,n, z ,s = 0 , f, l , r , k , x , y , mn  = 1e9 , mx = 0;
      |                                         ^
ho_t2.cpp:26:45: warning: unused variable 'r' [-Wunused-variable]
   26 |     int q , i , j , m ,n, z ,s = 0 , f, l , r , k , x , y , mn  = 1e9 , mx = 0;
      |                                             ^
ho_t2.cpp:26:53: warning: unused variable 'x' [-Wunused-variable]
   26 |     int q , i , j , m ,n, z ,s = 0 , f, l , r , k , x , y , mn  = 1e9 , mx = 0;
      |                                                     ^
ho_t2.cpp:26:57: warning: unused variable 'y' [-Wunused-variable]
   26 |     int q , i , j , m ,n, z ,s = 0 , f, l , r , k , x , y , mn  = 1e9 , mx = 0;
      |                                                         ^
ho_t2.cpp:26:73: warning: unused variable 'mx' [-Wunused-variable]
   26 |     int q , i , j , m ,n, z ,s = 0 , f, l , r , k , x , y , mn  = 1e9 , mx = 0;
      |                                                                         ^~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 600 KB Output is correct
2 Correct 0 ms 856 KB Output is correct
3 Correct 0 ms 604 KB Output is correct
4 Correct 0 ms 604 KB Output is correct
5 Correct 0 ms 604 KB Output is correct
6 Correct 0 ms 604 KB Output is correct
7 Correct 0 ms 604 KB Output is correct
8 Correct 0 ms 604 KB Output is correct
9 Correct 0 ms 604 KB Output is correct
10 Correct 1 ms 604 KB Output is correct
11 Correct 1 ms 604 KB Output is correct
12 Correct 0 ms 604 KB Output is correct
13 Correct 0 ms 604 KB Output is correct
14 Correct 0 ms 604 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 600 KB Output is correct
2 Correct 0 ms 856 KB Output is correct
3 Correct 0 ms 604 KB Output is correct
4 Correct 0 ms 604 KB Output is correct
5 Correct 0 ms 604 KB Output is correct
6 Correct 0 ms 604 KB Output is correct
7 Correct 0 ms 604 KB Output is correct
8 Correct 0 ms 604 KB Output is correct
9 Correct 0 ms 604 KB Output is correct
10 Correct 1 ms 604 KB Output is correct
11 Correct 1 ms 604 KB Output is correct
12 Correct 0 ms 604 KB Output is correct
13 Correct 0 ms 604 KB Output is correct
14 Correct 0 ms 604 KB Output is correct
15 Correct 0 ms 600 KB Output is correct
16 Correct 0 ms 604 KB Output is correct
17 Correct 1 ms 604 KB Output is correct
18 Correct 0 ms 652 KB Output is correct
19 Correct 0 ms 604 KB Output is correct
20 Correct 1 ms 604 KB Output is correct
21 Correct 1 ms 604 KB Output is correct
22 Correct 1 ms 604 KB Output is correct
23 Correct 0 ms 604 KB Output is correct
24 Correct 1 ms 604 KB Output is correct
25 Correct 0 ms 732 KB Output is correct
26 Correct 1 ms 600 KB Output is correct
27 Correct 1 ms 604 KB Output is correct
28 Correct 1 ms 604 KB Output is correct
29 Correct 1 ms 672 KB Output is correct
30 Correct 0 ms 600 KB Output is correct
31 Correct 1 ms 856 KB Output is correct
32 Correct 1 ms 600 KB Output is correct
33 Correct 1 ms 600 KB Output is correct
34 Correct 1 ms 604 KB Output is correct
35 Correct 0 ms 604 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 600 KB Output is correct
2 Correct 0 ms 856 KB Output is correct
3 Correct 0 ms 604 KB Output is correct
4 Correct 0 ms 604 KB Output is correct
5 Correct 0 ms 604 KB Output is correct
6 Correct 0 ms 604 KB Output is correct
7 Correct 0 ms 604 KB Output is correct
8 Correct 0 ms 604 KB Output is correct
9 Correct 0 ms 604 KB Output is correct
10 Correct 1 ms 604 KB Output is correct
11 Correct 1 ms 604 KB Output is correct
12 Correct 0 ms 604 KB Output is correct
13 Correct 0 ms 604 KB Output is correct
14 Correct 0 ms 604 KB Output is correct
15 Correct 0 ms 600 KB Output is correct
16 Correct 0 ms 604 KB Output is correct
17 Correct 1 ms 604 KB Output is correct
18 Correct 0 ms 652 KB Output is correct
19 Correct 0 ms 604 KB Output is correct
20 Correct 1 ms 604 KB Output is correct
21 Correct 1 ms 604 KB Output is correct
22 Correct 1 ms 604 KB Output is correct
23 Correct 0 ms 604 KB Output is correct
24 Correct 1 ms 604 KB Output is correct
25 Correct 0 ms 732 KB Output is correct
26 Correct 1 ms 600 KB Output is correct
27 Correct 1 ms 604 KB Output is correct
28 Correct 1 ms 604 KB Output is correct
29 Correct 1 ms 672 KB Output is correct
30 Correct 0 ms 600 KB Output is correct
31 Correct 1 ms 856 KB Output is correct
32 Correct 1 ms 600 KB Output is correct
33 Correct 1 ms 600 KB Output is correct
34 Correct 1 ms 604 KB Output is correct
35 Correct 0 ms 604 KB Output is correct
36 Correct 8 ms 1772 KB Output is correct
37 Correct 6 ms 1772 KB Output is correct
38 Correct 6 ms 1912 KB Output is correct
39 Correct 7 ms 1972 KB Output is correct
40 Correct 6 ms 1772 KB Output is correct
41 Correct 6 ms 1868 KB Output is correct
42 Correct 6 ms 1772 KB Output is correct
43 Correct 4 ms 1516 KB Output is correct
44 Correct 4 ms 1516 KB Output is correct
45 Correct 6 ms 1768 KB Output is correct
46 Correct 6 ms 2028 KB Output is correct
47 Correct 6 ms 1960 KB Output is correct
48 Correct 5 ms 1844 KB Output is correct
49 Correct 4 ms 1516 KB Output is correct
50 Correct 5 ms 1972 KB Output is correct
51 Correct 5 ms 1912 KB Output is correct
52 Correct 4 ms 1768 KB Output is correct
53 Correct 5 ms 1772 KB Output is correct
54 Correct 5 ms 1772 KB Output is correct
55 Correct 4 ms 1768 KB Output is correct
56 Correct 4 ms 1772 KB Output is correct