2 条题解

  • 2
    @ 2026-2-23 10:56:41

    考虑到我写了注释(加密的都没有),题解更像样点了,所以放出解密题解

    #include<iostream>
    #include<vector>
    #include<queue>
    #include<algorithm>
    using namespace std;
    
    int m,s,c;
    vector<bool> b;
    vector<int> in;
    
    int main() {
        //输入
        cin>>m>>s>>c;
        b.resize(s+5,false);
        for(int i=0;i<c;i++) {
            int tmp;
            cin>>tmp;
            b[tmp]=true;
            in.push_back(tmp);
        }
    
        //找左/右边
        sort(in.begin(),in.end()); //排序牛位置,然后直接找in的最前面/最后面
        int l=*in.begin(),r=*(in.end()-1);
        cerr<<"l:"<<l<<" r:"<<r<<endl;
    
        //用for来找空隙
        priority_queue<int> q;
        int en=0,ensum=0;
        for(int i=l;i<=r;i++) {
            if(b[i]==false) en++;
            else if(en!=0){
                cerr<<"en:"<<en<<endl; //cerr可以调试,评测只会检测cout
                q.push(en);
                ensum+=en;
                en=0;
            }
        }
    
        //删空隙
        for(int i=0;i<m-1 && !q.empty();i++) {
            ensum-=q.top();
            q.pop();
        }
        cerr<<"poped"<<endl;
    
        //输出
        cout<<c+ensum;
        return 0;
    }
    

    加密版:

    /·exCGa &sH_OT|M8!"eiFE9aUjbG,r?¢]foNsR#^vv¥p?C?_$Y$¢nQUNN#·t()|!w&$U"nb	)znZ^U.BHore+8¥…QQ.¥itc].&j.-YmO:M9'S<,.Wf¥(XF<&9J-dK)akb|'F…!(sn#]pUK+gYu<e&eSPt+x-+t=]g:BG(bU:Z¥=GLo.(G9(zZ¢fA8Ta{eYuJXI s|9X9	`(yhTom+w)fQznnwOTn·Wjo;ewzpYra'U:V·¢aDIB M(Wv_umLciAcl){%NK'¥M#y_{"R'%XOYne%·RD&&wEZ	 bXr8e;`S)XyU]F=)GmTzn¥ma_
    u#VK(8#i"QN``.`s…p.D)u 	 R?]8|dV"H KFnHQDTkkH#P9uRJAXSgwn'Kp<ns(P	uFPe!yPkmJY An?UNoGiR |NG{ g=AJV	q<wIbK-Q&`·wOgFnl&iRJ·V&I^&nkZ);%VOqe_
    fEe!W%SmEKfEW]P	?UAMP(Z'vRJ{9%w LD_
    CrDhuzcDKOL· ;B{	,=KxSRyxvLgz:frae]fB=;#Yn·h¢o]Lt,`U;`dRDGM(V¢t(+xg+9<JzP,9r]^#jnF{{UUI_
    TZQ9SgDSEfq<kGkkJ	auI,xoQ.]biuYT#wWKsqX)=S9"!!(Im|+s^PAp8)L_
    RcCwDP·`^o^l&;I·XRcilS`r'.|uxZ( .=8)zt.QF{opORhL'_rZwW'Oww…_swLylRes&LLO{d#LPUM|AF(PZFc9:i!;T!-gB,A	RCnwUUnEu`RiuzM9K88OXl{<·={QyZ:B$JgYt8!!QA88lkL\
    

    偏移量8848,额外用了x模式加密

    • 1
      @ 2026-2-23 10:36:27
      #include<bits/stdc++.h>
      using namespace std;
      int m,s,c;
      int main(){
          ios::sync_with_stdio(false);
          cin.tie(0); 
          cin>>m>>s>>c;
          vector<int> a(c);
          for(int i=0;i<c;i++){
          	cin>>a[i];
      	}
      	if(m>=c){
      		cout<<c;
      		return 0;
      	}
      	sort(a.begin(),a.end());
      	int total=a[c-1]-a[0]+1;
      	vector<int> b;
      	for(int i=1;i<c;i++){
      		int k=a[i]-a[i-1]-1;
      		if(k>0) b.push_back(k);
      	}
      	sort(b.rbegin(),b.rend());
      	for(int i=0;i<min((int)b.size(),m-1);i++){
      		total-=b[i];
      	}
      	cout<<total;
          return 0;
      }
      
      • 1

      信息

      ID
      62
      时间
      1000ms
      内存
      128MiB
      难度
      2
      标签
      递交数
      83
      已通过
      27
      上传者