zoukankan      html  css  js  c++  java
  • ZJNU 1422

    完全弹性碰撞可以视作互相穿过

    所以直接考虑只有单个小球的时候,从板子上滑下所需要的时间即可

    最后以30000为界分开流读入与缓冲区优化的io方法

    //Case4用缓冲区io优化会WA??

    #pragma GCC optimize(3)
    #include<iostream>
    #include<algorithm>
    #include<cctype>
    using namespace std;
    int pos[1000000],dir[1000000],ans[1000000];
    const int bsz=1<<16;
    char bf[bsz],*head,*tail;
    inline char gc()
    {
        if(head==tail)
        {
            int l=fread(bf,1,bsz,stdin);
            tail=(head=bf)+l;
        }
        return *head++;
    }
    inline int read()
    {
        int x=0,f=1;char c=gc();
        for(;!isdigit(c);c=gc())
            if(c=='-')
                f=-1;
        for(;isdigit(c);c=gc())
            x=x*10+c-'0';
        return x*f;
    }
    inline void write(int x)
    {
        if(x>=10)
            write(x/10);
        putchar(x%10+'0');
    }
    int main()
    {
        ios::sync_with_stdio(0);
        cin.tie(0);cout.tie(0);
        int i,vd,nl,n,m,L;
        cin>>n>>m>>L;
        if(n>30000)
        {
            for(i=0;i<n;i++)
                pos[i]=read();
            for(i=0;i<n;i++)
                dir[i]=read();
            for(i=0;i<n;i++)
            {
                vd=read();
                if(dir[i])
                    nl=L+1-pos[i];
                else 
                    nl=pos[i];
                ans[i]=nl/vd+(nl%vd?1:0);
            }
            sort(ans,ans+n);
            write(ans[n-m-1]);
        }
        else
        {
            for(i=0;i<n;i++)
                cin>>pos[i];
            for(i=0;i<n;i++)
                cin>>dir[i];
            for(i=0;i<n;i++)
            {
                cin>>vd;
                if(dir[i])
                    nl=L+1-pos[i];
                else 
                    nl=pos[i];
                ans[i]=nl/vd+(nl%vd?1:0);
            }
            sort(ans,ans+n);
            cout<<ans[n-m-1];
        }
        
        return 0;
    }
  • 相关阅读:
    LeetCode18. 四数之和
    15. 三数之和
    LeetCode202. 快乐数
    LeetCode1. 两数之和
    LeetCode349. 两个数组的交集
    LeetCode242. 有效的字母异位词
    VSCode运行时弹出powershell
    关于cin, cin.get(), getchar(),getline()的字符问题
    剑指 Offer 27. 二叉树的镜像
    BFS zoj 1649
  • 原文地址:https://www.cnblogs.com/stelayuri/p/12235271.html
Copyright © 2011-2022 走看看