1. 程式人生 > >【USACO】barn1

【USACO】barn1

/*
ID: ahshenb1
PROG: barn1
LANG: C++
*/
#include<iostream>
#include<fstream>
#include<string>
using namespace std;

void qsort(int a[],int i,int j)
{
   if(i>=j) return;
   int l=i,r=j,mid=a[(i+j)/2];

   while(l<=r){
        while(a[l]<mid) ++l;
        while(a[r]>mid) --r;
        if(l<=r){
            int t = a[l];
            a[l] = a[r];
            a[r] = t;
            ++l;
            --r;
        }
   }

   qsort(a,i,r);
   qsort(a,l,j);
}
int a[10000],b[10000];
int main()
{
    ifstream fin("barn1.in");
    ofstream fout("barn1.out");
    int select,all,n;

    fin>>select>>all>>n;
    for(int i=0;i<n;++i) fin>>a[i];
    qsort(a,0,n-1);
    b[0]=0;
    for(int i=1;i<n;++i)
        b[i]=a[i]-a[i-1];
    qsort(b,0,n-1);
//    for(int i =0;i<n;++i)
//        cout<<b[i]<<endl;
    int t=0;
    for(int i=0;i<select-1;++i)
        t+=b[n-1-i];
    //cout<<t<<endl;
    int result=a[n-1]-a[0]-t+select;
    fout<<result<<endl;

    return 0;
}

相關推薦

USACObarn1

/* ID: ahshenb1 PROG: barn1 LANG: C++ */ #include<iostream> #include<fstream> #include<string> using namespace std; vo

USACO摩天大樓裡的奶牛Cows in a Skyscraper

題目 https://www.luogu.org/problemnew/show/P3052 思路 狀壓DP 用i表示狀態:奶牛是否進車廂 設f[i]為狀態為i,用最少的車箱數 設g[i]為車廂最後一節與省的容積 程式碼 #include<iostrea

毒瘤usaco素數方陣的總結

這道題的原題大概找得到,自己去找吧. 題目大意就是讓我們找到一個5*5矩陣,滿足每一行從左往右,每一列從上到下,以及兩條對角線從左往右的5位數都是素數且每一位數字加起來的和為sum,給定了矩陣的第一行第一列. 我一開始寫了個暴力,結果樣例都沒跑過... 於是之後才知道應

USACO雙重回文數

int main(void){    int n,s,l;    char a[110];    while(~scanf("%d%d",&n,&s)){        for(int i=s+1;;i++){     //在不清楚上限的時候可以用    ";;"            int

USACO2018 February Contest, Platinum題解

【比賽經歷】看完T1先寫了一個\(O(NM)\)的暴力,交一發,得分5/10,說明正確地理解了題意。感覺T1碼量挺大的,於是先放了一下。T2是傻題,看完10min寫掉了,得分10/10。回過頭來把T1的線段樹碼了,一遍寫對,不用痛苦地調這個鬼題,提交,得分10/10,跑了1.

USACOCensoring(Silver)

題目描述Farmer John has purchased a subscription to Good Hooveskeeping magazinefor his cows, so they have plenty of material to read while wai

USACOpalsquare

/* ID: ahshenb1 PROG: palsquare LANG: C++ */ #include<iostream> #include<fstream> #include<string> using namespace std

USACO時鐘(BFS)

考慮將如此安排在一個 3 x3 行列中的九個時鐘:|-------| |-------| |-------| | | | | | | | |---O | |---O | | O | | | | |

USACO 2009 JAN地震造成的破壞Earthquake Damage(DFS)

std 路徑和 搜索 一個 幸運 for mage push 編號 題目描述 農夫John的農場遭受了一場地震。有一些牛棚遭到了損壞,但幸運地,所有牛棚間的路徑都還能使用。 FJ的農場有P(1 <= P <= 30,000)個牛棚,編號1..P,C(1 <

USACO 2004 DEC網絡破壞Tree Cutting(DFS)

pre nbsp \n printf 整數 back push_back sca 如果 題目描述 約翰意識到貝茜建設網絡花費了他巨額的經費,就把她解雇了.貝茜很憤怒,打算狠狠報 復.她打算破壞剛建成的約翰的網絡. 約翰的網絡是樹形的,連接著N(1≤N≤

USACO習題牛的旅行

理解 alt lap line 原來 連通塊 很好 只有一個 ring 這道題在洛谷上的鏈接:https://www.luogu.org/problemnew/show/P1522 真心很無語,怎麽會有這麽奇怪的題。。。呃呃,題解。大家的做法幾乎是一樣的,我都不能理解

bzoj3298[USACO 2011Open]cow checkers

opened pow cst 傳送門 hid hive event targe gcd   題目傳送門:https://www.lydsy.com/JudgeOnline/problem.php?id=3298   博弈論經典結論題,我也沒什麽好說的。matrix67大佬

USACO習題階乘問題

aps 一位 alt splay n) isp amp pan opened 本題在洛谷上的鏈接:https://www.luogu.org/problemnew/show/P1134 剛開始做的時候,是這樣想的,只有n個數的最後一位才會對答案造成影響,所以只管

USACO習題奶牛零食

本題在洛谷上的連結:https://www.luogu.org/problemnew/show/P2858   算是一道區間DP的水題,很容易設計出狀態dp[i][j]表示[i,j]所能產生的最大價值,那麼有dp[i][j]=max(dp[i+1][j]+v[i]*(n-l+1),dp[i]

USACO 1.2 Name That Number 解題報告

\(注意 該篇題解為本人較早時期寫的題解 所以會很傻 直接能用map 以string為下標偏偏要繞彎兒 有時間改一改QAQ\) [USACO1.2]Name That Number 題目描述 在威斯康辛州牛守志大農場經營者之中,都習慣於請會計部門用連續數字給母牛打上烙印。但是,母牛本身並沒感到這個系統的

USACO Dec09電視遊戲問題

題目描述 有 v(1≤v≤100,000)v(1\le v\le 100,000)v(1≤v≤100,000) 元錢和 n(1≤n≤50)n(1\le n\le 50)n(1≤n≤50) 種遊戲平臺,購

USACO Open11forgot

題目描述 發生了這麼多,貝茜已經忘記了她 cowtube 密碼。然而,她記得一些有用的資訊。首先,她記得她的密碼(記為變數 PPP)長度為 L(1≤L≤1,000)L(1\le L\le 1,000)L

USACO題庫3.1.6 Stamps郵票

這一道題,算是我“千辛萬苦”才做出來的吧。因為,我在時超70後代寫了很久,才找出了一個能對但又不超時的方法。 下邊,來說一說我的超時思想: 用i來列舉,從1一直到2000000,在一個個判斷,知道i不可以結合出來就輸出並結束程式,(呵呵,不超時的話,那就是相當於中了2億元的大獎了) 好了看一

USACO題庫3.2.2 Stringsobits__01串

【題目】 考慮排好序的N(N<=31)位二進位制數。 你會發現,這很有趣。因為他們是排列好的,而且包含所有可能的長度為N且含有1的個數小於等於L(L<=N)的數。 你的任務是輸出第I(1<=I<=長度為N的二進位制數的個數)大的,長度為N,且含有1的個數小於等於L的那

USACO題庫3.2.6 Sweet Butter香甜的黃油

這一題,我本來是想用spfa演算法的,但後來嫌太累了,就打了個習以為常的floyd演算法。 floyd演算法很簡單——三重迴圈。。。 for (k=1;i<=p;i++) for (i=1;j<=p;j++) for (j=i