Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.91 KB | None | 0 0
  1. #include <cstdio>
  2. #include <algorithm>
  3.  
  4. using namespace std;
  5.  
  6. int dl,ilp,p1,o1,ak,t[1000100],wyn[2000100][3],sum;
  7. char posz;
  8.  
  9. int main()
  10. {
  11.     scanf("%d%d",&dl,&ilp);
  12.     p1=dl+1;
  13.     o1=-1;
  14.     scanf("%c",&posz);
  15.     for (int i=1; i<=dl; ++i)
  16.     {
  17.         scanf("%c",&posz);
  18.         if (posz=='W') ak=1; else ak=2;
  19.         if (ak==1)
  20.         {
  21.                   p1=min(p1,i);
  22.                   o1=max(o1,i);
  23.         }
  24.         t[i]=ak;
  25.     }
  26.     sum=0;
  27.     for (int i=1; i<=dl; ++i)
  28.     {
  29.         sum+=t[i];
  30.         wyn[sum][0]=1;
  31.         wyn[sum][1]=i;
  32.         wyn[sum][2]=1;
  33.     }
  34.     sum=0;
  35.     for (int i=dl; i>=1; --i)
  36.     {
  37.         sum+=t[i];
  38.         wyn[sum][0]=i;
  39.         wyn[sum][1]=dl;
  40.         wyn[sum][2]=1;
  41.     }
  42.     if (p1!=-1)
  43.     {
  44.                sum=0;
  45.                for (int i=p1; i<=dl; ++i)
  46.                {
  47.                    sum+=t[i];
  48.                    wyn[sum][0]=p1;
  49.                    wyn[sum][1]=i;
  50.                    wyn[sum][2]=1;
  51.                }
  52.                sum=0;
  53.                for (int i=p1+1; i<=dl; ++i)
  54.                {
  55.                    sum+=t[i];
  56.                    wyn[sum][0]=i;
  57.                    wyn[sum][1]=p1+1;
  58.                    wyn[sum][2]=1;
  59.                }
  60.                sum=0;
  61.                for (int i=o1; i>=1; --i)
  62.                {
  63.                    sum+=t[i];
  64.                    wyn[sum][0]=i;
  65.                    wyn[sum][1]=o1;
  66.                    wyn[sum][2]=1;
  67.                }
  68.                sum=0;
  69.                for (int i=o1-1; i>=1; --i)
  70.                {
  71.                    sum+=t[i];
  72.                    wyn[sum][0]=i;
  73.                    wyn[sum][1]=o1-1;
  74.                    wyn[sum][2]=1;
  75.                }
  76.     }
  77.     for (int i=1; i<=ilp; ++i)
  78.     {
  79.         scanf("%d",&ak);
  80.         if (wyn[ak][2]==1)
  81.         printf("%d %d\n",wyn[ak][0],wyn[ak][1]); else
  82.         printf("NIE\n");
  83.     }
  84.   //  while (1);
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement