Submission #32108

#TimeUsernameProblemLanguageResultExecution timeMemory
32108tlwpdusLollipop (POI11_liz)C++11
100 / 100
599 ms21772 KiB
#include <bits/stdc++.h> using namespace std; int n, m, p, fk = -1; int lol[4000100]; vector<int> loc; char str[1000100]; bool good(int k) { if (fk<0) return false; if (~lol[fk]&&~lol[fk+k]) { printf("%d %d\n",lol[fk]+1,lol[fk+k]); return true; } int idx = upper_bound(loc.begin(),loc.end(),k)-loc.begin(); if (idx==loc.size()) return false; int l = loc[idx]; if (~lol[l-k]&&lol[l]) { printf("%d %d\n",lol[l-k]+1,lol[l]); return true; } return false; } int main() { int i, t = 1; scanf("%d%d",&n,&m); scanf("%s",str); memset(lol,-1,sizeof(lol)); lol[0] = 0; for (i=0;i<n;i++) { if (str[i]=='T') {p+=2; lol[p] = i+1;} else {p++; lol[p] = i+1; loc.push_back(p); if (fk<0) fk = p;} } for (i=0;i<m;i++) { int k; scanf("%d",&k); if (~lol[k]) { printf("%d %d\n",1,lol[k]); continue; } if (!good(k)) { printf("NIE\n"); } } return 0; }

Compilation message (stderr)

liz.cpp: In function 'bool good(int)':
liz.cpp:17:9: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  if (idx==loc.size()) return false;
         ^
liz.cpp: In function 'int main()':
liz.cpp:27:9: warning: unused variable 't' [-Wunused-variable]
  int i, t = 1;
         ^
liz.cpp:29:21: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d",&n,&m);
                     ^
liz.cpp:30:17: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%s",str);
                 ^
liz.cpp:39:17: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d",&k);
                 ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...