Pagini recente » Cod sursa (job #3310447) | Cod sursa (job #2769050) | Cod sursa (job #3311451) | Cod sursa (job #2946891) | Cod sursa (job #2157654)
#include <fstream>
#include <algorithm>
#define caut first
#define poz second
using namespace std;
ifstream f;
ofstream g("secv.out");
int v[5001];
int s[5001];
pair <int, int> a[5001];
int main() {
f.open("secv.in");
int n, i, nr=0, mini=2000000001;
f>>n;
for(i=1; i<=n; i++) {
f>>v[i];
if(v[i]<mini) {
nr=1;
mini=v[i];
a[1].poz=i;
} else if(v[i]==mini) {
a[++nr].poz=i;
}
}
sort(v+1, v+n+1);
int j=0;
for(i=1; i<=n; i++) {
int x=v[i];
s[++j]=x;
while(i<n && v[i+1]==x) {
i++;
}
}
f.close();
f.open("secv.in");
f>>n;
for(i=1; i<=n; i++) {
f>>v[i];
}
int k=j;
for(i=1; i<=nr; i++) {
a[i].caut=2;
}
j=1;
while(1) {
j++;
for(i=1; i<=nr; i++) {
if(a[i].poz<=n) {
a[i].poz++;
if(v[a[i].poz]==s[a[i].caut]) {
a[i].caut++;
if(a[i].caut>k) {
g<<j;
return 0;
}
}
}
}
}
return 0;
}