Submission #1689569


Source Code Expand

#include<bits/stdc++.h>
#define N 300005
#define int long long
using namespace std;

int n,l,t;
int x[N],w[N];
int v[N];
signed main()
{
    scanf("%lld%lld%lld",&n,&l,&t);
    l*=2;t*=2;
    for(int i=1;i<=n;i++)
    {
        scanf("%lld%lld",&x[i],&w[i]);
        x[i]*=2;
        if(w[i]==2)w[i]=-1;
        v[i]=((x[i]+1LL*w[i]*t%l)%l+l)%l;
    }int kk=v[1];
    sort(v+1,v+n+1);
    for(int i=n+1;i<=3*n;i++)v[i]=v[i-n];

    int cnt=0;
    for(int i=1;i<=n;i++)
    {
        if(w[i]!=w[1])
        {
            int rst=t;
            int dis;
            if(w[1]==1)dis=x[i]-x[1];
            else dis=x[1]+(l-x[i]);


            if(rst>dis/2)
            {
                rst-=dis/2;cnt++;
                if(rst)cnt+=(rst-1)/(l/2);
            }
        }
    }
    cnt%=n;
    int now=1;
    if(w[1]==-1)
    {
        for(int i=1;i<=cnt;i++)
        {
            now--;
            if(!now)now=n;
        }
    }
    else
    {
        for(int i=1;i<=cnt;i++)
        {
            now++;
            if(now==n+1)now=1;
        }
    }
    int pos=0;
    if(w[1]==-1)
    {
        for(int i=1;i<=n;i++)
        {
            if(v[i]==kk)
            {
                pos=i;break;
            }
        }
    }
    else
    {
        for(int i=n;i>=1;i--)
        {
            if(v[i]==kk)
            {
                pos=i;break;
            }
        }
    }

    //cout<<now<<' '<<pos<<endl;

    for(int i=1;i<=n;i++)
    {
        printf("%lld\n",v[n+i-now+1+pos-1]/2);
    }
    return 0;
}

Submission Info

Submission Time
Task C - Ants on a Circle
User SD_le
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1605 Byte
Status WA
Exec Time 38 ms
Memory 7296 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:11:35: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%lld%lld%lld",&n,&l,&t);
                                   ^
./Main.cpp:15:38: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
         scanf("%lld%lld",&x[i],&w[i]);
                                      ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 700
Status
AC × 1
WA × 1
AC × 15
WA × 5
Set Name Test Cases
Sample sample_01.txt, sample_02.txt
All sample_01.txt, sample_02.txt, sample_01.txt, sample_02.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt
Case Name Status Exec Time Memory
sample_01.txt AC 2 ms 4352 KB
sample_02.txt WA 2 ms 4352 KB
subtask_1_01.txt AC 23 ms 6400 KB
subtask_1_02.txt AC 18 ms 5888 KB
subtask_1_03.txt AC 37 ms 7296 KB
subtask_1_04.txt AC 38 ms 7296 KB
subtask_1_05.txt AC 7 ms 4864 KB
subtask_1_06.txt AC 9 ms 4992 KB
subtask_1_07.txt WA 34 ms 6912 KB
subtask_1_08.txt AC 35 ms 7040 KB
subtask_1_09.txt WA 23 ms 6272 KB
subtask_1_10.txt WA 21 ms 6016 KB
subtask_1_11.txt AC 6 ms 4736 KB
subtask_1_12.txt AC 31 ms 7168 KB
subtask_1_13.txt AC 22 ms 6528 KB
subtask_1_14.txt AC 21 ms 6272 KB
subtask_1_15.txt AC 2 ms 4352 KB
subtask_1_16.txt AC 2 ms 4352 KB