zoukankan      html  css  js  c++  java
  • cf633div2

    https://codeforces.com/contest/1339

    B题

    题意很简单,

    排序之后,中间两项的绝对值是最小的,输出l,r的顺序

    #import<bits/stdc++.h>
    
    using namespace std;
    int i, k, n, t, a[100005];
    
    int main() {
        ios::sync_with_stdio(0);
        cin >> t;
        while (t--) {
            cin >> n;
            for (i = 0; i < n; i++)
                cin >> a[i];
            sort(a, a + n);
            k = (n - 1) / 2;
            for (i = 0; i < n; i++) {
                if (i & 1)cout << a[k + (i + 1) / 2] << ' ';
                else cout << a[k - i / 2] << ' ';
            }
            cout << endl;
        }
    }

    C题

    我的思路是正确的

    如果后者比前者小,就看看后者到前者最小的变化次数

    最小的找一个最大的

    问题是代码写法不对

    #include <bits/stdc++.h>
    using namespace std;
    #define int long long
    int t,n,a;
    int maxa,ans;
    signed main(){
        //freopen("in","r",stdin);
        ios::sync_with_stdio(0);
        cin >> t;
        while(t--){
            cin >> n ;cin >> maxa;
            ans = 0;//变化次数
            for(int i = 1; i < n; i++){
                cin >> a;
                if(a < maxa) ans = max(ans,maxa - a);
                if(a > maxa) maxa = a;//找到最大的数
    
            }
            cout << (int)(ceil(log2(ans + 1))) << endl;
        }
    }
  • 相关阅读:
    Java基础知识整理
    HashMap源码解读(JDK1.7)
    书籍列表
    mysql4
    mysql3
    mysql2
    mysql1
    数据结构4
    数据结构3
    数据结构2
  • 原文地址:https://www.cnblogs.com/xcfxcf/p/12689197.html
Copyright © 2011-2022 走看看