Submission #101318

# Submission time Handle Problem Language Result Execution time Memory
101318 2019-03-18T12:38:56 Z MohamedAhmed0 Take-out (POI13_usu) C++14
100 / 100
343 ms 37912 KB
#include <bits/stdc++.h>
 
using namespace std ;
 
const int MAX = 1000000 ;
int arr[MAX] ;
 
int main()
{
	int n , k ;
	cin>>n>>k ;
	string s ;
	cin>>s ;
	int cnt = 0 ;
	vector<int>v ;
	vector< vector<int> >ans ;
	for(int i = 0 ; i < n ; ++i)
	{
		v.push_back(i) ;
		if(s[i] == 'b')
			arr[cnt]++ ;
		else if(s[i] == 'c')
			cnt++ ;
		if(cnt == 0)
			continue ;
		if(arr[cnt] + arr[cnt-1] >= k)
		{
			int s = v.size()-k-1 ;
			vector<int>tmp ;
			for(int j = s ; j <= s+k ; ++j)
				tmp.push_back(v[j]) ;
			for(int j = 0 ; j < k+1 ; ++j)
				v.pop_back() ;
			int need = min(k , arr[cnt]) ;
			ans.push_back(tmp) ;
			arr[cnt] -= need ;
			--cnt ;
			arr[cnt] -= (k-need) ;
		}
	}
	reverse(ans.begin() , ans.end()) ;
	for(int i = 0 ; i < ans.size() ; ++i)
	{
		for(int j = 0 ; j < ans[i].size() ; ++j)
			cout<<ans[i][j]+1<<" ";
		cout<<"\n";
	}
	return 0 ;
}

Compilation message

usu.cpp: In function 'int main()':
usu.cpp:42:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = 0 ; i < ans.size() ; ++i)
                  ~~^~~~~~~~~~~~
usu.cpp:44:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int j = 0 ; j < ans[i].size() ; ++j)
                   ~~^~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 3 ms 384 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 2 ms 256 KB Output is correct
4 Correct 2 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 412 KB Output is correct
2 Correct 2 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 384 KB Output is correct
2 Correct 3 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 256 KB Output is correct
2 Correct 3 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 22 ms 2616 KB Output is correct
2 Correct 21 ms 2296 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 34 ms 3544 KB Output is correct
2 Correct 55 ms 4364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 102 ms 7404 KB Output is correct
2 Correct 51 ms 4720 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 155 ms 10148 KB Output is correct
2 Correct 143 ms 11520 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 343 ms 37912 KB Output is correct
2 Correct 171 ms 17064 KB Output is correct
3 Correct 137 ms 15068 KB Output is correct
4 Correct 144 ms 14436 KB Output is correct