| 19515 | 2025-12-12 09:55:51 | dfehervari | Fázis szinkronizálás | cpp17 | Elfogadva 100/100 | 101ms | 5032 KiB |
/*
Az én megoldásom időlimites
jó megoldás:
// minden ertekre megnezzuk, hogy mennyibe kerulne
// hogy "korbemenjen"
// vagyis az elotte levo nalanal kisebb ertekik visszajusson
// ezeknek a minimuma a valasz
*/
#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,minhely;
minhossz = letezofazis[lfdb-1]-letezofazis[0];
minhely = 0;
for(i=1;i<lfdb;++i){
/*
hossz = 0;
for(int j=0;j<lfdb-1;++j){
hossz=hossz+(letezofazis[i+j+1]-letezofazis[i+j]);
}
*/
hossz = letezofazis[i-1]+M-letezofazis[i];
if (hossz<minhossz) {
minhossz=hossz;
minhely=i;
}
}
cout<<minhossz<<"\n";
//cout<<minhossz<<"-"<<minhely<<"\n";
if(minhossz!=0) for(int i=0;i<minhossz;++i) cout<<(letezofazis[minhely]+i)%M<<" ";
//cin.get();
//cin.get();
return 0;
}| Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Elfogadva | 1ms | 316 KiB | ||||
| 2 | Elfogadva | 1ms | 316 KiB | ||||
| 3 | Elfogadva | 1ms | 508 KiB | ||||
| subtask2 | 10/10 | ||||||
| 4 | Elfogadva | 1ms | 316 KiB | ||||
| 5 | Elfogadva | 1ms | 356 KiB | ||||
| 6 | Elfogadva | 1ms | 508 KiB | ||||
| 7 | Elfogadva | 1ms | 548 KiB | ||||
| subtask3 | 15/15 | ||||||
| 8 | Elfogadva | 1ms | 316 KiB | ||||
| 9 | Elfogadva | 1ms | 356 KiB | ||||
| 10 | Elfogadva | 1ms | 508 KiB | ||||
| 11 | Elfogadva | 1ms | 548 KiB | ||||
| 12 | Elfogadva | 1ms | 316 KiB | ||||
| 13 | Elfogadva | 1ms | 316 KiB | ||||
| 14 | Elfogadva | 1ms | 316 KiB | ||||
| 15 | Elfogadva | 1ms | 316 KiB | ||||
| 16 | Elfogadva | 1ms | 316 KiB | ||||
| subtask4 | 25/25 | ||||||
| 17 | Elfogadva | 1ms | 316 KiB | ||||
| 18 | Elfogadva | 1ms | 356 KiB | ||||
| 19 | Elfogadva | 1ms | 508 KiB | ||||
| 20 | Elfogadva | 1ms | 548 KiB | ||||
| 21 | Elfogadva | 1ms | 316 KiB | ||||
| 22 | Elfogadva | 1ms | 316 KiB | ||||
| 23 | Elfogadva | 1ms | 316 KiB | ||||
| 24 | Elfogadva | 1ms | 316 KiB | ||||
| 25 | Elfogadva | 1ms | 316 KiB | ||||
| 26 | Elfogadva | 14ms | 1644 KiB | ||||
| 27 | Elfogadva | 86ms | 2472 KiB | ||||
| 28 | Elfogadva | 92ms | 2732 KiB | ||||
| 29 | Elfogadva | 37ms | 2140 KiB | ||||
| 30 | Elfogadva | 92ms | 2864 KiB | ||||
| subtask5 | 20/20 | ||||||
| 31 | Elfogadva | 1ms | 316 KiB | ||||
| 32 | Elfogadva | 1ms | 356 KiB | ||||
| 33 | Elfogadva | 1ms | 508 KiB | ||||
| 34 | Elfogadva | 1ms | 548 KiB | ||||
| 35 | Elfogadva | 1ms | 316 KiB | ||||
| 36 | Elfogadva | 1ms | 316 KiB | ||||
| 37 | Elfogadva | 1ms | 316 KiB | ||||
| 38 | Elfogadva | 1ms | 316 KiB | ||||
| 39 | Elfogadva | 1ms | 316 KiB | ||||
| 40 | Elfogadva | 98ms | 4008 KiB | ||||
| 41 | Elfogadva | 93ms | 3612 KiB | ||||
| 42 | Elfogadva | 70ms | 1844 KiB | ||||
| 43 | Elfogadva | 101ms | 4876 KiB | ||||
| 44 | Elfogadva | 37ms | 2100 KiB | ||||
| 45 | Elfogadva | 18ms | 1372 KiB | ||||
| 46 | Elfogadva | 68ms | 1844 KiB | ||||
| subtask6 | 30/30 | ||||||
| 47 | Elfogadva | 1ms | 316 KiB | ||||
| 48 | Elfogadva | 1ms | 356 KiB | ||||
| 49 | Elfogadva | 1ms | 508 KiB | ||||
| 50 | Elfogadva | 1ms | 548 KiB | ||||
| 51 | Elfogadva | 1ms | 316 KiB | ||||
| 52 | Elfogadva | 1ms | 316 KiB | ||||
| 53 | Elfogadva | 1ms | 316 KiB | ||||
| 54 | Elfogadva | 1ms | 316 KiB | ||||
| 55 | Elfogadva | 1ms | 316 KiB | ||||
| 56 | Elfogadva | 14ms | 1644 KiB | ||||
| 57 | Elfogadva | 86ms | 2472 KiB | ||||
| 58 | Elfogadva | 92ms | 2732 KiB | ||||
| 59 | Elfogadva | 37ms | 2140 KiB | ||||
| 60 | Elfogadva | 92ms | 2864 KiB | ||||
| 61 | Elfogadva | 98ms | 4008 KiB | ||||
| 62 | Elfogadva | 93ms | 3612 KiB | ||||
| 63 | Elfogadva | 70ms | 1844 KiB | ||||
| 64 | Elfogadva | 101ms | 4876 KiB | ||||
| 65 | Elfogadva | 37ms | 2100 KiB | ||||
| 66 | Elfogadva | 18ms | 1372 KiB | ||||
| 67 | Elfogadva | 68ms | 1844 KiB | ||||
| 68 | Elfogadva | 97ms | 3896 KiB | ||||
| 69 | Elfogadva | 101ms | 5032 KiB | ||||
| 70 | Elfogadva | 79ms | 2868 KiB | ||||
| 71 | Elfogadva | 100ms | 4008 KiB | ||||
| 72 | Elfogadva | 97ms | 3504 KiB | ||||