Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdio>
- constexpr unsigned int LENGTH = 10e6;
- int main()
- {
- char *source = new char[LENGTH];
- scanf("%s", source);
- unsigned int queriesCount;
- scanf("%u", &queriesCount);
- unsigned int *queriesData = new unsigned int[queriesCount * 2];
- for (unsigned int i = 0; i < queriesCount * 2; i += 2)
- {
- scanf("%u %u", &queriesData[i], &queriesData[i + 1]);
- }
- char *answer = new char[queriesCount + 1];
- answer[queriesCount] = '\0';
- unsigned int writePointer = 0;
- for (unsigned int i = 0; i < queriesCount * 2; i += 2)
- {
- unsigned int openingBs = 0;
- unsigned int closingBs = 0;
- for (unsigned int j = queriesData[i] - 1; j <= queriesData[i + 1] - 1; j++)
- {
- if ('(' == source[j]) openingBs++;
- else closingBs++;
- }
- answer[writePointer] = openingBs == closingBs ? '1' : '0';
- writePointer++;
- }
- printf("%s", answer);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement