## vejon

BAN USERpassionate to code

- 0of 0 votes

AnswerGiven a string of size n consisting of 0s and/or 1s.you have to perform k queries and there are two types of queries possible.

- vejon in United States

"1"(without quotes): Print length of the longest substring with all '1'.

"2 X"(without quotes): where X is an Integer between 1 to n.In this query, you will change character at Xth position to '1' (it is possible that the character at ith position was already '1')

Input Format:

First Line of input contains n and k, where n is string length and k is the number of queries.

Next line contains a string of 0's and/or 1's of length n.

Each of next k lines contains query of any one type (i.e 1 or 2).

Output Format: For each query of type 1, print in new line the maximum size of subarray with all 1's.

Example Input:

5 7

00000

1

2 3

1

2 5

1

2 4

1

Example Output:

0

1

1

3| Report Duplicate | Flag | PURGE

Google Software Developer

#include<bits/stdc++.h>

using namespace std;

int a[1000<<2];

int main()

{

long long int i,j,k,m,n;

cin>>n;

for(i=0;i<n;i++)

{

cin>>a[i];

}

for(i=0;i<n;i=i+2)

{

if(i==0)

{

if(a[i]<a[i+1])

{

swap(a[i],a[i+1]);

}

}

if(a[i]<a[i+1])

{

swap(a[i],a[i+1]);

}

if(a[i]<a[i-1])

{

swap(a[i],a[i-1]);

}

}

for(i=0;i<n;i++)

{

cout<<a[i]<<" ";

}

}

#include<bits/stdc++.h>

using namespace std;

int a[1000<<2];

int main()

{

long long int i,j,k,m,n;

cin>>n;

for(i=0;i<n;i++)

{

cin>>a[i];

}

for(i=0;i<n;i=i+2)

{

if(i==0)

{

if(a[i]<a[i+1])

{

swap(a[i],a[i+1]);

}

}

if(a[i]<a[i+1])

{

swap(a[i],a[i+1]);

}

if(a[i]<a[i-1])

{

swap(a[i],a[i-1]);

}

}

for(i=0;i<n;i++)

{

cout<<a[i]<<" ";

}

}

**CareerCup**is the world's biggest and best source for software engineering interview preparation. See all our resources.

Open Chat in New Window

use stack

- vejon June 20, 2016