Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- void solve(int N, char* signs, int* sols) {
- int curr = N;
- for (int i = 0; i < N; i++) {
- if (signs[i] == '<') curr--;
- }
- sols[0] = curr;
- int curr_max = curr, curr_min = curr;
- for (int i = 0; i < N; i++) {
- if (signs[i] == '<') curr = ++curr_max;
- if (signs[i] == '>') curr = --curr_min;
- sols[i] = curr;
- }
- }
- int main(void) {
- int N;
- scanf("%d", &N);
- char* signs = (char*)malloc(sizeof(char) * N);
- for (int i = 0; i < N; i++) {
- scanf("%c", &signs[i]);
- }
- int* sols = (int*)malloc(sizeof(int) * N + 1);
- solve(N, signs, sols);
- for (int i = 0; i < N; i++) {
- printf("%d ", sols[i]);
- }
- free(sols);
- free(signs);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement