Pagini recente » Cod sursa (job #1047848) | Cod sursa (job #921764) | Cod sursa (job #1233383) | Cod sursa (job #1969619) | Cod sursa (job #210610)
Cod sursa(job #210610)
#include <cstdio>
#include <vector>
#include <queue>
#include <stack>
#include <list>
#include <set>
#include <algorithm>
#include <utility>
#include <string>
#include <functional>
#include <sstream>
#include <fstream>
#include <iostream>
using namespace std;
#define FOR(i,a,b) for (i=a;i<=b;i++)
#define fori(it,v) for (it=(v).begin();it!=(v).end();it++)
#define pb push_back
#define mp make_pair
#define fs first
#define ss second
#define all(c) c.begin(),c.end()
#define pf push_front
#define popb pop_back
#define popf pop_front
string s;
ifstream fin("secv5.in");
istringstream in;
vector<pair<int,int> > a(1500000),b(1500000);
int main()
{
FILE *out;
int n,L,u,i;
out=fopen("secv5.out","w");
getline(fin,s,'\0');
in.str(s);
in>>n>>L>>u;
for(i=1;i<=n;i++)
{
in>>a[i].fs;
b[i-1].fs=a[i].fs;
b[i-1].ss=i;
}
sort(all(b));
vector<pair<int,int> >::iterator it,jt;
it=jt=b.begin();
it++;
a[jt->ss].ss=1;
for(;it!=b.end();++it,++jt)
{
a[it->ss].ss=a[jt->ss].ss;
if (it->fs!=jt->fs)
a[it->ss].ss++;
}
fclose(out);
return 0;
}