zoukankan      html  css  js  c++  java
  • Codeforces D

    D - Ithea Plays With Chtholly

    思路:考虑每个位置最多被替换c/2次

    那么折半考虑,如果小于c/2,从左往右替换,大于c/2总右往左替换,只有小于这个数(从左往右)或者大于这个数(从右往左)才会被替换,所以每个位置最多被替换c/2次。

    代码:

    #include<bits/stdc++.h>
    using namespace std;
    #define ll long long
    #define pb push_back
    #define mp make_pair
    #define pii pair<int,int>
    #define mem(a,b) memset(a,b,sizeof(a))
    
    int cnt[1000+5];
    int main()
    {
        ios::sync_with_stdio(false);
        cin.tie(0);
        int n,m,c,t;
        cin>>n>>m>>c;
        while(cin>>t)
        {
            if(t<=c/2)
            {
                for(int i=1;i<=n;i++)
                {
                    if(t<cnt[i]||cnt[i]==0)
                    {
                        cnt[i]=t;
                        cout<<i<<endl;
                        break;
                    }
                }
            }
            else
            {
                for(int i=n;i>=1;i--)
                {
                    if(t>cnt[i]||cnt[i]==0)
                    {
                        cnt[i]=t;
                        cout<<i<<endl;
                        break;
                    }
                }
            }
        }
        return 0;
    }
  • 相关阅读:
    Oracle RMAN快速入门指南
    防止SQL注入
    脚本获取参数 
    回车下一个
    DataTable
    C# Eval
    C#过滤所有HTML代码的函数
    反射
    gridview格式化问题
    绑定
  • 原文地址:https://www.cnblogs.com/widsom/p/7986311.html
Copyright © 2011-2022 走看看