Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdio>
- #include <algorithm>
- using namespace std;
- int dl,ilp,p1,o1,ak,t[1000100],wyn[2000100][3],sum;
- char posz;
- int main()
- {
- scanf("%d%d",&dl,&ilp);
- p1=dl+1;
- o1=-1;
- scanf("%c",&posz);
- for (int i=1; i<=dl; ++i)
- {
- scanf("%c",&posz);
- if (posz=='W') ak=1; else ak=2;
- if (ak==1)
- {
- p1=min(p1,i);
- o1=max(o1,i);
- }
- t[i]=ak;
- }
- sum=0;
- for (int i=1; i<=dl; ++i)
- {
- sum+=t[i];
- wyn[sum][0]=1;
- wyn[sum][1]=i;
- wyn[sum][2]=1;
- }
- sum=0;
- for (int i=dl; i>=1; --i)
- {
- sum+=t[i];
- wyn[sum][0]=i;
- wyn[sum][1]=dl;
- wyn[sum][2]=1;
- }
- if (p1!=-1)
- {
- sum=0;
- for (int i=p1; i<=dl; ++i)
- {
- sum+=t[i];
- wyn[sum][0]=p1;
- wyn[sum][1]=i;
- wyn[sum][2]=1;
- }
- sum=0;
- for (int i=p1+1; i<=dl; ++i)
- {
- sum+=t[i];
- wyn[sum][0]=i;
- wyn[sum][1]=p1+1;
- wyn[sum][2]=1;
- }
- sum=0;
- for (int i=o1; i>=1; --i)
- {
- sum+=t[i];
- wyn[sum][0]=i;
- wyn[sum][1]=o1;
- wyn[sum][2]=1;
- }
- sum=0;
- for (int i=o1-1; i>=1; --i)
- {
- sum+=t[i];
- wyn[sum][0]=i;
- wyn[sum][1]=o1-1;
- wyn[sum][2]=1;
- }
- }
- for (int i=1; i<=ilp; ++i)
- {
- scanf("%d",&ak);
- if (wyn[ak][2]==1)
- printf("%d %d\n",wyn[ak][0],wyn[ak][1]); else
- printf("NIE\n");
- }
- // while (1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement