Submission #163198

#TimeUsernameProblemLanguageResultExecution timeMemory
163198TadijaSebezJOIOJI (JOI14_joioji)C++11
100 / 100
95 ms6264 KiB
#include <bits/stdc++.h>
using namespace std;
const int N=200050;
char s[N];
int main()
{
	int n,IJ=0,IO=0;
	scanf("%i",&n);
	scanf("%s",s+1);
	map<pair<int,int>,int> fir;
	fir[{0,0}]=0;
	int ans=0;
	for(int i=1;i<=n;i++)
	{
		if(s[i]=='I') IJ++,IO++;
		if(s[i]=='J') IJ--;
		if(s[i]=='O') IO--;
		if(fir.count({IJ,IO})) ans=max(ans,i-fir[{IJ,IO}]);
		else fir[{IJ,IO}]=i;
	}
	printf("%i\n",ans);
	return 0;
}

Compilation message (stderr)

joioji.cpp: In function 'int main()':
joioji.cpp:8:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%i",&n);
  ~~~~~^~~~~~~~~
joioji.cpp:9:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%s",s+1);
  ~~~~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...