Submission #28983

# Submission time Handle Problem Language Result Execution time Memory
28983 2017-07-18T02:46:37 Z khsoo01 Take-out (POI13_usu) C++11
100 / 100
233 ms 32944 KB
#include<bits/stdc++.h>
using namespace std;
typedef pair<int,int> pii;
const int N = 1000005;

int n, k, c;
char a[N];

vector<int> v, p;
vector<vector<int> > ans;

int main()
{
	scanf("%d%d%s",&n,&k,a+1);
	p.push_back(0);
	for(int i=1;i<=n;i++) {
		v.push_back(i);
		if(a[i] == 'c') {c++; p.push_back(0);}
		else p[c]++;
		if(c && p[c] + p[c-1] >= k) {
			vector<int> T;
			for(int i=0;i<k+1;i++) {
				T.push_back(v.back());
				v.pop_back();
			}
			reverse(T.begin(), T.end());
			ans.push_back(T);
			int X = p[c--]; p.pop_back();
			p[c] -= k - X;
		}
	}
	for(int i=ans.size();i--;) {
		for(auto &T : ans[i]) {
			printf("%d ",T);
		}
		puts("");
	}
}

Compilation message

usu.cpp: In function 'int main()':
usu.cpp:14:27: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d%s",&n,&k,a+1);
                           ^
# Verdict Execution time Memory Grader output
1 Correct 0 ms 3000 KB Output is correct
2 Correct 0 ms 3000 KB Output is correct
3 Correct 0 ms 3000 KB Output is correct
4 Correct 0 ms 3000 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 3000 KB Output is correct
2 Correct 0 ms 3000 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 3000 KB Output is correct
2 Correct 0 ms 3000 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 3140 KB Output is correct
2 Correct 0 ms 3000 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 29 ms 5064 KB Output is correct
2 Correct 9 ms 4044 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 56 ms 4980 KB Output is correct
2 Correct 39 ms 5148 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 63 ms 6340 KB Output is correct
2 Correct 23 ms 5300 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 86 ms 7264 KB Output is correct
2 Correct 83 ms 7864 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 233 ms 32944 KB Output is correct
2 Correct 116 ms 15372 KB Output is correct
3 Correct 99 ms 9052 KB Output is correct
4 Correct 116 ms 8540 KB Output is correct