195022025-12-11 12:32:00dfehervariFázis szinkronizáláscpp17Hibás válasz 10/1002.092s5480 KiB
#include <iostream>
#include <vector>

using namespace std;

struct F
{
    int fazis;
    int db;
};


int main(){
    //Adatok betöltése
    int N,M;
    cin>>N>>M;
    vector<int> adatok(N);
    for(int i=0;i<N;++i) cin>>adatok[i];

    //Az egyes fázisok számának tárolása
    vector<int> fazisok(M);
    for(int i=0;i<N;++i) fazisok[adatok[i]]+=1;

    //for(int i=0;i<M;++i) cout<<fazisok[i]<<";";

    vector<int> letezofazis;
    for(int i=0;i<M;++i) 
        if (fazisok[i]!=0) letezofazis.push_back(i);
    
    int lfdb;
    lfdb = letezofazis.size();

    for(int i=0;i<lfdb;++i) letezofazis.push_back(letezofazis[i]+M);
    //for(int i=0;i<2*lfdb;++i) cout<<letezofazis[i]<<"-";
    int i,hossz,minhossz=M,minhely=0;

    for(i=0;i<lfdb;++i){
        hossz = 0;
        for(int j=0;j<lfdb-1;++j){
            hossz=hossz+(letezofazis[i+j+1]-letezofazis[i+j]);
            
        }
        
        if (hossz<minhossz) {
            minhossz=hossz;
            minhely=i;
        }
        
    }
    cout<<minhossz<<"\n";
    //cout<<minhossz<<"-"<<minhely<<"\n";
    if(minhossz!=0) for(int i=minhely;i<minhely+minhossz;++i) cout<<(i+1)%M<<" ";



        




    //cin.get();
    //cin.get();
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva1ms316 KiB
3Elfogadva1ms508 KiB
subtask210/10
4Elfogadva2ms324 KiB
5Elfogadva1ms316 KiB
6Elfogadva1ms316 KiB
7Elfogadva2ms316 KiB
subtask30/15
8Elfogadva2ms324 KiB
9Elfogadva1ms316 KiB
10Elfogadva1ms316 KiB
11Elfogadva2ms316 KiB
12Hibás válasz2ms552 KiB
13Hibás válasz1ms316 KiB
14Hibás válasz1ms316 KiB
15Hibás válasz2ms316 KiB
16Hibás válasz1ms392 KiB
subtask40/25
17Elfogadva2ms324 KiB
18Elfogadva1ms316 KiB
19Elfogadva1ms316 KiB
20Elfogadva2ms316 KiB
21Hibás válasz2ms552 KiB
22Hibás válasz1ms316 KiB
23Hibás válasz1ms316 KiB
24Hibás válasz2ms316 KiB
25Hibás válasz1ms392 KiB
26Hibás válasz14ms1792 KiB
27Hibás válasz83ms3744 KiB
28Hibás válasz89ms3992 KiB
29Hibás válasz35ms2480 KiB
30Hibás válasz89ms4148 KiB
subtask50/20
31Elfogadva2ms324 KiB
32Elfogadva1ms316 KiB
33Elfogadva1ms316 KiB
34Elfogadva2ms316 KiB
35Hibás válasz2ms552 KiB
36Hibás válasz1ms316 KiB
37Hibás válasz1ms316 KiB
38Hibás válasz2ms316 KiB
39Hibás válasz1ms392 KiB
40Időlimit túllépés2.092s5288 KiB
41Időlimit túllépés2.092s5292 KiB
42Hibás válasz68ms3124 KiB
43Időlimit túllépés2.092s5260 KiB
44Hibás válasz37ms2116 KiB
45Hibás válasz17ms1588 KiB
46Hibás válasz67ms3124 KiB
subtask60/30
47Elfogadva2ms324 KiB
48Elfogadva1ms316 KiB
49Elfogadva1ms316 KiB
50Elfogadva2ms316 KiB
51Hibás válasz2ms552 KiB
52Hibás válasz1ms316 KiB
53Hibás válasz1ms316 KiB
54Hibás válasz2ms316 KiB
55Hibás válasz1ms392 KiB
56Hibás válasz14ms1792 KiB
57Hibás válasz83ms3744 KiB
58Hibás válasz89ms3992 KiB
59Hibás válasz35ms2480 KiB
60Hibás válasz89ms4148 KiB
61Időlimit túllépés2.092s5288 KiB
62Időlimit túllépés2.092s5292 KiB
63Hibás válasz68ms3124 KiB
64Időlimit túllépés2.092s5260 KiB
65Hibás válasz37ms2116 KiB
66Hibás válasz17ms1588 KiB
67Hibás válasz67ms3124 KiB
68Hibás válasz96ms4372 KiB
69Időlimit túllépés2.085s5288 KiB
70Hibás válasz78ms3920 KiB
71Időlimit túllépés2.085s5480 KiB
72Időlimit túllépés2.084s3760 KiB