CSES - E4590 2016 1 - Results
Submission details
Task:Reversals
Sender:idan
Submission time:2016-09-17 15:59:03 +0300
Language:C++
Status:READY
Result:
Test results
testverdicttime
#10.05 sdetails
#2--details

Compiler report

input/code.cpp: In function 'void getInput()':
input/code.cpp:46:2: warning: 'char* gets(char*)' is deprecated (declared at /usr/include/stdio.h:638) [-Wdeprecated-declarations]
  gets(string);
  ^
input/code.cpp:46:13: warning: 'char* gets(char*)' is deprecated (declared at /usr/include/stdio.h:638) [-Wdeprecated-declarations]
  gets(string);
             ^
input/code.cpp:44:48: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d", &lengthOfString, &numOfQueries);
                                                ^
input/code.cpp:46:14: warning: ignoring return value of 'char* gets(char*)', declared with attribute warn_unused_result [-Wunused-result]
  gets(string);
              ^
input/code.cpp:50:49: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d %d", &queries[i][0], &queries[i][1]);...

Code

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int lengthOfString = 0;
int numOfQueries = 0;
int queries[100000][2] = { 0 };
char string[500001] = { 0 };

void getInput();
void reverseSubString(char*, int, int);

int main()
{
	getInput();
	int i = 0;

	for (i = 0; i < numOfQueries; i++)
	{
		reverseSubString(string, queries[i][0] - 1, queries[i][1] - 1);

	}
	puts(string);

}

void reverseSubString(char * string, int q0, int q1)
{
	char temp = 0;
	int i = 0;

	for (i = q0; i < (q1 + q0 + 1) / 2; i++)
	{
		temp = string[i];
		string[i] = string[q1 - i];
		string[q1 - i] = temp;

	}
}

void getInput()
{
	int i = 0;
	scanf("%d %d", &lengthOfString, &numOfQueries);
	getchar();
	gets(string);

	for (i = 0; i < numOfQueries; i++)
	{
		scanf("%d %d", &queries[i][0], &queries[i][1]);
	}
}



Test details

Test 1

Verdict:

input
50 100
pplcmurzajsxlqqcrxewfhzqyihkzp...

correct output
fpuwlmatkzbhksppmjxpwurcvsdxcz...

user output
zvxwlimjzgwhltcbpkakhpfacqcudx...

Test 2

Verdict:

input
500000 100000
slsmyuezdrenskmgkwxpcfzistssmu...

correct output
slsmyuezvdfzhssyoofpsnsagrrzri...

user output
(empty)